def parse_source_file(source_file):
if not source_file:<EOL><INDENT>return None<EOL><DEDENT>vcsinfo = source_file.split('<STR_LIT::>')<EOL>if len(vcsinfo) == <NUM_LIT:4>:<EOL><INDENT>vcstype, root, vcs_source_file, revision = vcsinfo<EOL>return vcs_source_file<EOL><DEDENT>if len(vcsinfo) == <NUM_LIT:2>:<EOL><INDENT>vcstype, vcs_source_file = vcsinfo<EOL>return vcs_source_file<EOL><DEDENT>if source_file.startswith('<STR_LIT:/>'):<EOL><INDENT>return source_file<EOL><DEDENT>return None<EOL>
Parses a source file thing and returns the file name

    Example:

    >>> parse_file('hg:hg.mozilla.org/releases/mozilla-esr52:js/src/jit/MIR.h:755067c14b06')
    'js/src/jit/MIR.h'

    :arg str source_file: the source file ("file") from a stack frame

    :returns: the filename or ``None`` if it couldn't determine one