if (!knownLocalResult) {
sideEffectInfo.setTaintsReturn();
}
}
JSDocInfo info = getJSDocInfoForFunction(node, parent, gramp);
if (info != null) {
boolean hasSpecificSideEffects = false;
if (hasSideEffectsThisAnnotation(info)) {
if (inExterns) {
hasSpecificSideEffects = true;
sideEffectInfo.setTaintsThis();
} else {
traversal.report(node, INVALID_MODIFIES_ANNOTATION);
}
}
if (hasSideEffectsArgumentsAnnotation(info)) {
if (inExterns) {
hasSpecificSideEffects = true;
sideEffectInfo.setTaintsArguments();
} else {
traversal.report(node, INVALID_MODIFIES_ANNOTATION);
}
}
if (inExterns && !info.getThrownTypes().isEmpty()) {
hasSpecificSideEffects = true;
sideEffectInfo.setFunctionThrows();
}
if (!hasSpecificSideEffects) {