private void genMethodTypeSignature(ExecutableElement method, StringBuilder sb) {
    genOptFormalTypeParameters(method.getTypeParameters(), sb);
    sb.append('(');
    for (VariableElement param : method.getParameters()) {
      genTypeSignature(param.asType(), sb);
    }
    sb.append(')');
    genTypeSignature(method.getReturnType(), sb);
    List<? extends TypeMirror> thrownTypes = method.getThrownTypes();
    if (hasGenericSignature(thrownTypes)) {
      for (TypeMirror thrownType : thrownTypes) {
        sb.append('^');
        genTypeSignature(thrownType, sb);
      }
    }
  }
private void genMethodTypeSignature ( ExecutableElement method , StringBuilder sb ) { genOptFormalTypeParameters ( method . getTypeParameters ( ) , sb ) ; sb . append ( '(' ) ; for ( VariableElement param : method . getParameters ( ) ) { genTypeSignature ( param . asType ( ) , sb ) ; } sb . append ( ')' ) ; genTypeSignature ( method . getReturnType ( ) , sb ) ; List < ? extends TypeMirror > thrownTypes = method . getThrownTypes ( ) ; if ( hasGenericSignature ( thrownTypes ) ) { for ( TypeMirror thrownType : thrownTypes ) { sb . append ( '^' ) ; genTypeSignature ( thrownType , sb ) ; } } }
MethodTypeSignature ::= [FormalTypeParameters]
"(" {TypeSignature} ")" ReturnType {ThrowsSignature}.