(sources, backend)
return names
For the specified list of @sources which can be strings, Files, or targets,
    get all the output basenames.
For the specified list of
For the specified list of
def get_sources_string_names(sources, backend):
    '''
    For the specified list of @sources which can be strings, Files, or targets,
    get all the output basenames.
    '''
    names = []
    for s in sources:
        if isinstance(s, str):
            names.append(s)
        elif isinstance(s, (BuildTarget, CustomTarget, CustomTargetIndex, GeneratedList)):
            names += s.get_outputs()
        elif isinstance(s, ExtractedObjects):
            names += s.get_outputs(backend)
        elif isinstance(s, File):
            names.append(s.fname)
        else:
            raise AssertionError(f'Unknown source type: {s!r}')
    return names
def get_sources_string_names ( sources , backend ) : names = [ ] for s in sources : if isinstance ( s , str ) : names . append ( s ) elif isinstance ( s , ( BuildTarget , CustomTarget , CustomTargetIndex , GeneratedList ) ) : names += s . get_outputs ( ) elif isinstance ( s , ExtractedObjects ) : names += s . get_outputs ( backend ) elif isinstance ( s , File ) : names . append ( s . fname ) else : raise AssertionError ( f'Unknown source type: {s!r}' ) return names