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 2021/09/21 09:16:55 UTC

[groovy] branch GROOVY-10240 updated: Trivial refactoring: merge `MethodNodeHelper` into `MethodNodeUtils`

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

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


The following commit(s) were added to refs/heads/GROOVY-10240 by this push:
     new 8f03575  Trivial refactoring: merge `MethodNodeHelper` into `MethodNodeUtils`
8f03575 is described below

commit 8f035756d64be912555248148a99bb8f15e89f57
Author: Daniel Sun <su...@apache.org>
AuthorDate: Tue Sep 21 17:16:28 2021 +0800

    Trivial refactoring: merge `MethodNodeHelper` into `MethodNodeUtils`
---
 .../apache/groovy/ast/tools/MethodNodeUtils.java   | 15 ++++++++
 .../org/codehaus/groovy/ast/MethodNodeHelper.java  | 40 ----------------------
 .../org/codehaus/groovy/classgen/Verifier.java     |  4 +--
 .../transform/stc/StaticTypeCheckingVisitor.java   |  4 +--
 4 files changed, 19 insertions(+), 44 deletions(-)

diff --git a/src/main/java/org/apache/groovy/ast/tools/MethodNodeUtils.java b/src/main/java/org/apache/groovy/ast/tools/MethodNodeUtils.java
index 7feea9e..5b4b346 100644
--- a/src/main/java/org/apache/groovy/ast/tools/MethodNodeUtils.java
+++ b/src/main/java/org/apache/groovy/ast/tools/MethodNodeUtils.java
@@ -18,6 +18,7 @@
  */
 package org.apache.groovy.ast.tools;
 
+import org.codehaus.groovy.ast.ClassHelper;
 import org.codehaus.groovy.ast.MethodNode;
 import org.codehaus.groovy.ast.Parameter;
 import org.codehaus.groovy.ast.stmt.BlockStatement;
@@ -128,4 +129,18 @@ public class MethodNodeUtils {
         }
         return block;
     }
+
+    /**
+     * Check if the {@link MethodNode} instance is getter candidate
+     *
+     * @param m the {@link MethodNode} instance
+     * @return {@code true} if the instance is getter candidate
+     * @since 4.0.0
+     */
+    public static boolean isGetterCandidate(MethodNode m) {
+        Parameter[] parameters = m.getParameters();
+        return m.isPublic() && !m.isStatic() && !m.isAbstract()
+                && (null == parameters || 0 == parameters.length)
+                && !ClassHelper.VOID_TYPE.equals(m.getReturnType());
+    }
 }
diff --git a/src/main/java/org/codehaus/groovy/ast/MethodNodeHelper.java b/src/main/java/org/codehaus/groovy/ast/MethodNodeHelper.java
deleted file mode 100644
index 90393d9..0000000
--- a/src/main/java/org/codehaus/groovy/ast/MethodNodeHelper.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.codehaus.groovy.ast;
-
-/**
- * Helper for {@link MethodNode}
- *
- * @since 4.0.0
- */
-public class MethodNodeHelper {
-    /**
-     * Check if the {@link MethodNode} instance is getter candidate
-     *
-     * @param m the {@link MethodNode} instance
-     * @return {@code true} if the instance is getter candidate
-     * @since 4.0.0
-     */
-    public static boolean isGetterCandidate(MethodNode m) {
-        Parameter[] parameters = m.getParameters();
-        return m.isPublic() && !m.isStatic() && !m.isAbstract()
-                && (null == parameters || 0 == parameters.length)
-                && !ClassHelper.VOID_TYPE.equals(m.getReturnType());
-    }
-}
diff --git a/src/main/java/org/codehaus/groovy/classgen/Verifier.java b/src/main/java/org/codehaus/groovy/classgen/Verifier.java
index a25a987..5a79b26 100644
--- a/src/main/java/org/codehaus/groovy/classgen/Verifier.java
+++ b/src/main/java/org/codehaus/groovy/classgen/Verifier.java
@@ -29,6 +29,7 @@ import groovy.transform.NonSealed;
 import groovy.transform.Sealed;
 import groovy.transform.stc.POJO;
 import org.apache.groovy.ast.tools.ClassNodeUtils;
+import org.apache.groovy.ast.tools.MethodNodeUtils;
 import org.apache.groovy.util.BeanUtils;
 import org.codehaus.groovy.GroovyBugError;
 import org.codehaus.groovy.ast.ASTNode;
@@ -44,7 +45,6 @@ import org.codehaus.groovy.ast.GroovyClassVisitor;
 import org.codehaus.groovy.ast.GroovyCodeVisitor;
 import org.codehaus.groovy.ast.InnerClassNode;
 import org.codehaus.groovy.ast.MethodNode;
-import org.codehaus.groovy.ast.MethodNodeHelper;
 import org.codehaus.groovy.ast.Parameter;
 import org.codehaus.groovy.ast.PropertyNode;
 import org.codehaus.groovy.ast.Variable;
@@ -800,7 +800,7 @@ public class Verifier implements GroovyClassVisitor, Opcodes {
             boolean toVisitGetter = true;
             if (classNode.isRecord()) {
                 boolean isGetterDefined = classNode.getDeclaredMethods(name).stream()
-                        .anyMatch(MethodNodeHelper::isGetterCandidate);
+                        .anyMatch(MethodNodeUtils::isGetterCandidate);
                 toVisitGetter = !isGetterDefined;
             }
 
diff --git a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
index 4306180..4424ac3 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
@@ -29,6 +29,7 @@ import groovy.transform.TypeCheckingMode;
 import groovy.transform.stc.ClosureParams;
 import groovy.transform.stc.ClosureSignatureConflictResolver;
 import groovy.transform.stc.ClosureSignatureHint;
+import org.apache.groovy.ast.tools.MethodNodeUtils;
 import org.apache.groovy.util.SystemUtil;
 import org.codehaus.groovy.GroovyBugError;
 import org.codehaus.groovy.ast.ASTNode;
@@ -45,7 +46,6 @@ import org.codehaus.groovy.ast.GenericsType;
 import org.codehaus.groovy.ast.GenericsType.GenericsTypeName;
 import org.codehaus.groovy.ast.InnerClassNode;
 import org.codehaus.groovy.ast.MethodNode;
-import org.codehaus.groovy.ast.MethodNodeHelper;
 import org.codehaus.groovy.ast.Parameter;
 import org.codehaus.groovy.ast.PropertyNode;
 import org.codehaus.groovy.ast.Variable;
@@ -4735,7 +4735,7 @@ public class StaticTypeCheckingVisitor extends ClassCodeVisitorSupport {
         if (receiver.isInterface()) {
             methods.addAll(OBJECT_TYPE.getMethods(name));
         } else if (receiver.isRecord()) {
-            if (methods.stream().noneMatch(MethodNodeHelper::isGetterCandidate)) {
+            if (methods.stream().noneMatch(MethodNodeUtils::isGetterCandidate)) {
                 PropertyNode p = receiver.getProperty(name);
                 if (null != p) {
                     MethodNode getter = new MethodNode(p.getGetterName(), Modifier.PUBLIC, p.getType(), Parameter.EMPTY_ARRAY,