@@ -314,10 +314,18 @@ sigbuf.appendByte('^'); assembleSig(l.head); } } break; + case FUNCTION: + MethodType fct = (MethodType)type; + sigbuf.appendByte('#'); + assembleSig(fct.restype); + sigbuf.appendByte('('); + assembleSig(fct.argtypes); + sigbuf.appendByte(')'); + break; case WILDCARD: { WildcardType ta = (WildcardType) type; switch (ta.kind) { case SUPER: sigbuf.appendByte('-');