parameters: (filename)
return_statement: return os.path.splitext(filename)[0]
docstring: Drops common suffixes like _test.cc or -inl.h from filename.
  
    For example:
      >>> _DropCommonSuffixes('foo/foo-inl.h')
      'foo/foo'
      >>> _DropCommonSuffixes('foo/bar/foo.cc')
      'foo/bar/foo'
      >>> _DropCommonSuffixes('foo/foo_internal.h')
      'foo/foo'
      >>> _DropCommonSuffixes('foo/foo_unusualinternal.h')
      'foo/foo_unusualinternal'
  
    Args:
      filename: The input filename.
  
    Returns:
      The filename with the common suffix removed.
docstring_summary: Drops common suffixes like _test.cc or -inl.h from filename.
docstring_tokens: Drops common suffixes like _test . cc or - inl . h from filename .
function: def _DropCommonSuffixes(filename):
    """Drops common suffixes like _test.cc or -inl.h from filename.
  
    For example:
      >>> _DropCommonSuffixes('foo/foo-inl.h')
      'foo/foo'
      >>> _DropCommonSuffixes('foo/bar/foo.cc')
      'foo/bar/foo'
      >>> _DropCommonSuffixes('foo/foo_internal.h')
      'foo/foo'
      >>> _DropCommonSuffixes('foo/foo_unusualinternal.h')
      'foo/foo_unusualinternal'
  
    Args:
      filename: The input filename.
  
    Returns:
      The filename with the common suffix removed.
    """
    for suffix in itertools.chain(
        ('%s.%s' % (test_suffix.lstrip('_'), ext)
         for test_suffix, ext in itertools.product(_test_suffixes, GetNonHeaderExtensions())),
        ('%s.%s' % (suffix, ext)
         for suffix, ext in itertools.product(['inl', 'imp', 'internal'], GetHeaderExtensions()))):
      if (filename.endswith(suffix) and len(filename) > len(suffix) and
          filename[-len(suffix) - 1] in ('-', '_')):
        return filename[:-len(suffix) - 1]
    return os.path.splitext(filename)[0]
function_tokens: def _DropCommonSuffixes ( filename ) : for suffix in itertools . chain ( ( '%s.%s' % ( test_suffix . lstrip ( '_' ) , ext ) for test_suffix , ext in itertools . product ( _test_suffixes , GetNonHeaderExtensions ( ) ) ) , ( '%s.%s' % ( suffix , ext ) for suffix , ext in itertools . product ( [ 'inl' , 'imp' , 'internal' ] , GetHeaderExtensions ( ) ) ) ) : if ( filename . endswith ( suffix ) and len ( filename ) > len ( suffix ) and filename [ - len ( suffix ) - 1 ] in ( '-' , '_' ) ) : return filename [ : - len ( suffix ) - 1 ] return os . path . splitext ( filename ) [ 0 ]