[ 
https://issues.apache.org/jira/browse/GROOVY-7840?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16010313#comment-16010313
 ] 

ASF GitHub Bot commented on GROOVY-7840:
----------------------------------------

Github user paulk-asert commented on a diff in the pull request:

    https://github.com/apache/groovy/pull/533#discussion_r116460996
  
    --- 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 --
    
    See above.


> 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)

Reply via email to