XMethod m2 = m.bridgeTo();
if (m2 != null) {
m = m2;
}
if (sourceSignature != null && !sourceSignature.equals(m.getSignature())) {
GenericSignatureParser p = new GenericSignatureParser(sourceSignature);
String rv = p.getReturnTypeSignature();
if (rv.charAt(0) != 'T') {
try {
Type t = GenericUtilities.getType(rv);
if (t != null) {
assert t.getType() != T_VOID;
result = merge(result, t);
foundSomething = true;
}
} catch (RuntimeException e) {
AnalysisContext.logError("Problem analyzing call to " + m + " with source signature"
+ sourceSignature, e);
break;
}
}
}
if (m == m2) {
SignatureParser p = new SignatureParser(m.getSignature());
String rv = p.getReturnTypeSignature();
Type t = Type.getType(rv);
result = merge(result, t);
foundSomething = true;