diff options
Diffstat (limited to 'gnu/llvm/tools/clang/bindings/python/tests/cindex/util.py')
| -rw-r--r-- | gnu/llvm/tools/clang/bindings/python/tests/cindex/util.py | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/gnu/llvm/tools/clang/bindings/python/tests/cindex/util.py b/gnu/llvm/tools/clang/bindings/python/tests/cindex/util.py deleted file mode 100644 index 57e17941c55..00000000000 --- a/gnu/llvm/tools/clang/bindings/python/tests/cindex/util.py +++ /dev/null @@ -1,90 +0,0 @@ -# This file provides common utility functions for the test suite. - -import os -HAS_FSPATH = hasattr(os, 'fspath') - -if HAS_FSPATH: - from pathlib import Path as str_to_path -else: - str_to_path = None - -import unittest - -from clang.cindex import Cursor -from clang.cindex import TranslationUnit - -def get_tu(source, lang='c', all_warnings=False, flags=[]): - """Obtain a translation unit from source and language. - - By default, the translation unit is created from source file "t.<ext>" - where <ext> is the default file extension for the specified language. By - default it is C, so "t.c" is the default file name. - - Supported languages are {c, cpp, objc}. - - all_warnings is a convenience argument to enable all compiler warnings. - """ - args = list(flags) - name = 't.c' - if lang == 'cpp': - name = 't.cpp' - args.append('-std=c++11') - elif lang == 'objc': - name = 't.m' - elif lang != 'c': - raise Exception('Unknown language: %s' % lang) - - if all_warnings: - args += ['-Wall', '-Wextra'] - - return TranslationUnit.from_source(name, args, unsaved_files=[(name, - source)]) - -def get_cursor(source, spelling): - """Obtain a cursor from a source object. - - This provides a convenient search mechanism to find a cursor with specific - spelling within a source. The first argument can be either a - TranslationUnit or Cursor instance. - - If the cursor is not found, None is returned. - """ - # Convenience for calling on a TU. - root_cursor = source if isinstance(source, Cursor) else source.cursor - - for cursor in root_cursor.walk_preorder(): - if cursor.spelling == spelling: - return cursor - - return None - -def get_cursors(source, spelling): - """Obtain all cursors from a source object with a specific spelling. - - This provides a convenient search mechanism to find all cursors with - specific spelling within a source. The first argument can be either a - TranslationUnit or Cursor instance. - - If no cursors are found, an empty list is returned. - """ - # Convenience for calling on a TU. - root_cursor = source if isinstance(source, Cursor) else source.cursor - - cursors = [] - for cursor in root_cursor.walk_preorder(): - if cursor.spelling == spelling: - cursors.append(cursor) - - return cursors - - -skip_if_no_fspath = unittest.skipUnless(HAS_FSPATH, - "Requires file system path protocol / Python 3.6+") - -__all__ = [ - 'get_cursor', - 'get_cursors', - 'get_tu', - 'skip_if_no_fspath', - 'str_to_path', -] |
