public static ExecutableElement getExecutableElement(String methodString)
    {
        if (methodString == null)
        {
            throw new NullPointerException();
        }
        if (methodString.isEmpty())
        {
            return null;
        }
        int i1 = methodString.indexOf(' ');
        if (i1 == -1)
        {
            throw new IllegalArgumentException(methodString+" illegal");
        }
        TypeElement cls = El.getTypeElement(methodString.substring(0, i1));
        if (cls == null)
        {
            throw new IllegalArgumentException(methodString+" class not found");
        }
        int i2 = methodString.indexOf('(', i1);
        if (i2 == -1)
        {
            throw new IllegalArgumentException(methodString+" illegal");
        }
        String name = methodString.substring(i1+1, i2);
        int i3 = methodString.indexOf(')', i2);
        if (i3 == -1)
        {
            throw new IllegalArgumentException(methodString+" illegal");
        }
        if (i3-i2 > 1)
        {
            String[] args = methodString.substring(i2+1, methodString.length()-1).split(",");
            TypeMirror[] params = new TypeMirror[args.length];
            for (int ii=0;ii<args.length;ii++)
            {
                params[ii] = Typ.getTypeFor(args[ii]);
            }
            return getMethod(cls, name, params);
        }
        else
        {
            return getMethod(cls, name);
        }
    }
public static ExecutableElement getExecutableElement ( String methodString ) { if ( methodString == null ) { throw new NullPointerException ( ) ; } if ( methodString . isEmpty ( ) ) { return null ; } int i1 = methodString . indexOf ( ' ' ) ; if ( i1 == - 1 ) { throw new IllegalArgumentException ( methodString + " illegal" ) ; } TypeElement cls = El . getTypeElement ( methodString . substring ( 0 , i1 ) ) ; if ( cls == null ) { throw new IllegalArgumentException ( methodString + " class not found" ) ; } int i2 = methodString . indexOf ( '(' , i1 ) ; if ( i2 == - 1 ) { throw new IllegalArgumentException ( methodString + " illegal" ) ; } String name = methodString . substring ( i1 + 1 , i2 ) ; int i3 = methodString . indexOf ( ')' , i2 ) ; if ( i3 == - 1 ) { throw new IllegalArgumentException ( methodString + " illegal" ) ; } if ( i3 - i2 > 1 ) { String [ ] args = methodString . substring ( i2 + 1 , methodString . length ( ) - 1 ) . split ( "," ) ; TypeMirror [ ] params = new TypeMirror [ args . length ] ; for ( int ii = 0 ; ii < args . length ; ii ++ ) { params [ ii ] = Typ . getTypeFor ( args [ ii ] ) ; } return getMethod ( cls , name , params ) ; } else { return getMethod ( cls , name ) ; } }
Returns ExecutableElement from text form. Format is
&lt;canonical name of method class&gt; ' ' &lt;method name&gt; '(' arguments ')'

Arguments is a comma separated list of argument type names. Argument type name
is canonical name of argument class. Arrays however are printed with leading '['.
Example T0.class.getDeclaredMethod("m1", String.class, int.class, long[].class)
produces "org.vesalainen.bcc.T0 m1(java.lang.String,int,[long)"

@param methodString
@return