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,