[
https://issues.apache.org/jira/browse/GROOVY-7840?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16009457#comment-16009457
]
ASF GitHub Bot commented on GROOVY-7840:
----------------------------------------
Github user jwagenleitner commented on a diff in the pull request:
https://github.com/apache/groovy/pull/533#discussion_r116363829
--- Diff: src/main/org/apache/groovy/ast/tools/MethodNodeUtils.java ---
@@ -0,0 +1,66 @@
+/*
+ * 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.apache.groovy.ast.tools;
+
+import org.codehaus.groovy.ast.MethodNode;
+import org.codehaus.groovy.ast.Parameter;
+
+public class MethodNodeUtils {
+ /**
+ * Return the method node's descriptor including its
+ * name and parameter types without generics.
+ *
+ * @param mNode the method node
+ * @return the method node's abbreviated descriptor excluding the
return type
+ */
+ public static String methodDescriptorWithoutReturnType(MethodNode
mNode) {
+ StringBuilder sb = new StringBuilder();
+ mNode.getTypeDescriptor();
+ sb.append(mNode.getName()).append(':');
+ for (Parameter p : mNode.getParameters()) {
+
sb.append(ClassNodeUtils.formatTypeName(p.getType())).append(',');
+ }
+ return sb.toString();
+ }
+
+ /**
+ * Return the method node's descriptor which includes its return type,
+ * name and parameter types without generics.
+ *
+ * @param mNode the method node
+ * @return the method node's descriptor
+ */
+ public static String methodDescriptor(MethodNode mNode) {
--- End diff --
This could be the body of `MethodNode#getTypeDescriptor` instance method.
> Verifier#makeDescriptorWithoutReturnType uses ClassNode#toString with generics
> ------------------------------------------------------------------------------
>
> Key: GROOVY-7840
> URL: https://issues.apache.org/jira/browse/GROOVY-7840
> Project: Groovy
> Issue Type: Bug
> Reporter: Jochen Theodorou
> Labels: easyfix
>
> As noted in GROOVY-7826, commit
> [74089c1|https://github.com/apache/groovy/commit/74089c1156d6c296d64e68e766575e86c4119c67]
> contains the addition of Verifier#makeDescriptorWithoutReturnType. The
> method is based on ClassNode#toString, which will include redirects and their
> generics information. This should not be the case
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)