/** * Convert to a value known because it was returned from a method in a * method property database. * * @param methodInvoked * TODO */ public IsNullValue markInformationAsComingFromReturnValueOfMethod(XMethod methodInvoked) { FieldDescriptor fieldDescriptor = methodInvoked.getAccessMethodForField(); if (fieldDescriptor != null) { XField f = XFactory.getExactXField(fieldDescriptor); return markInformationAsComingFromFieldValue(f); } int flag = RETURN_VAL; if ("readLine".equals(methodInvoked.getName()) && "()Ljava/lang/String;".equals(methodInvoked.getSignature())) { flag = READLINE_VAL; } if (getBaseKind() == NO_KABOOM_NN) { return new IsNullValue(kind | flag, locationOfKaBoom); } return instanceByFlagsList[(getFlags() | flag) >> FLAG_SHIFT][getBaseKind()]; }
if (name.startsWith("access$")) { XMethod invoked = XFactory.createXMethod(is, cpg); FieldDescriptor field = invoked.getAccessMethodForField(); if (field != null) { boolean isSetter = signature.endsWith("V");
/** * Convert to a value known because it was returned from a method in a * method property database. * * @param methodInvoked * TODO */ public IsNullValue markInformationAsComingFromReturnValueOfMethod(XMethod methodInvoked) { FieldDescriptor fieldDescriptor = methodInvoked.getAccessMethodForField(); if (fieldDescriptor != null) { XField f = XFactory.getExactXField(fieldDescriptor); return markInformationAsComingFromFieldValue(f); } int flag = RETURN_VAL; if ("readLine".equals(methodInvoked.getName()) && "()Ljava/lang/String;".equals(methodInvoked.getSignature())) { flag = READLINE_VAL; } if (getBaseKind() == NO_KABOOM_NN) { return new IsNullValue(kind | flag, locationOfKaBoom); } return instanceByFlagsList[(getFlags() | flag) >> FLAG_SHIFT][getBaseKind()]; }
if (name.startsWith("access$")) { XMethod invoked = XFactory.createXMethod(is, cpg); FieldDescriptor field = invoked.getAccessMethodForField(); if (field != null) { boolean isSetter = signature.endsWith("V");