def _DoesTargetDependOnMatchingTargets(target):
 if (target.match_status == MATCH_STATUS_DOESNT_MATCH):
  return False
 if ((target.match_status == MATCH_STATUS_MATCHES) or (target.match_status == MATCH_STATUS_MATCHES_BY_DEPENDENCY)):
  return True
 for dep in target.deps:
  if _DoesTargetDependOnMatchingTargets(dep):
   target.match_status = MATCH_STATUS_MATCHES_BY_DEPENDENCY
   print ' DCTB ', target.name, 'matches by dep', dep.name
   return True
 target.match_status = MATCH_STATUS_DOESNT_MATCH
 return False

def _DoesTargetDependOnMatchingTargets ( target ) : if ( target . match_status == MATCH_STATUS_DOESNT_MATCH ) : return False if ( ( target . match_status == MATCH_STATUS_MATCHES ) or ( target . match_status == MATCH_STATUS_MATCHES_BY_DEPENDENCY ) ) : return True for dep in target . deps : if _DoesTargetDependOnMatchingTargets ( dep ) : target . match_status = MATCH_STATUS_MATCHES_BY_DEPENDENCY print ' DCTB ' , target . name , 'matches by dep' , dep . name return True target . match_status = MATCH_STATUS_DOESNT_MATCH return False
returns true if |target| or any of its dependencies is one of the targets containing the files supplied as input to analyzer .