You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2019/08/26 05:50:20 UTC

[groovy] 01/02: Minor refactoring: Convert `ProgressCallback` to functional interface

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

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

commit 8a417f9fa52f0db2b7b48ab514decd7f67c7b010
Author: Daniel Sun <su...@apache.org>
AuthorDate: Sat Aug 24 01:41:51 2019 +0800

    Minor refactoring: Convert `ProgressCallback` to functional interface
---
 .../org/codehaus/groovy/transform/ASTTestTransformation.groovy     | 2 +-
 src/main/java/org/codehaus/groovy/control/CompilationUnit.java     | 7 +++----
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/main/groovy/org/codehaus/groovy/transform/ASTTestTransformation.groovy b/src/main/groovy/org/codehaus/groovy/transform/ASTTestTransformation.groovy
index 6982b86..a36f9e0 100644
--- a/src/main/groovy/org/codehaus/groovy/transform/ASTTestTransformation.groovy
+++ b/src/main/groovy/org/codehaus/groovy/transform/ASTTestTransformation.groovy
@@ -165,7 +165,7 @@ class ASTTestTransformation extends AbstractASTTransformation implements Compila
 
     }
     
-    private static class ProgressCallbackChain extends CompilationUnit.ProgressCallback {
+    private static class ProgressCallbackChain implements CompilationUnit.ProgressCallback {
 
         private final List<CompilationUnit.ProgressCallback> chain = new LinkedList<CompilationUnit.ProgressCallback>()
 
diff --git a/src/main/java/org/codehaus/groovy/control/CompilationUnit.java b/src/main/java/org/codehaus/groovy/control/CompilationUnit.java
index 8e67cc7..8e71645 100644
--- a/src/main/java/org/codehaus/groovy/control/CompilationUnit.java
+++ b/src/main/java/org/codehaus/groovy/control/CompilationUnit.java
@@ -54,7 +54,6 @@ import org.objectweb.asm.ClassVisitor;
 import org.objectweb.asm.ClassWriter;
 
 import javax.tools.JavaFileObject;
-
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
@@ -538,9 +537,9 @@ public class CompilationUnit extends ProcessingUnit {
      * ProcessingUnit and a phase indicator.  Use setProgressCallback()
      * before running compile() to set your callback.
      */
-    // TODO: Convert to functional interface?
-    public abstract static class ProgressCallback {
-        public abstract void call(ProcessingUnit context, int phase) throws CompilationFailedException;
+    @FunctionalInterface
+    public interface ProgressCallback {
+        void call(ProcessingUnit context, int phase) throws CompilationFailedException;
     }
 
     /**