summaryrefslogtreecommitdiff
path: root/Tools/c-analyzer/c_parser/preprocessor/pure.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/c-analyzer/c_parser/preprocessor/pure.py')
-rw-r--r--Tools/c-analyzer/c_parser/preprocessor/pure.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/Tools/c-analyzer/c_parser/preprocessor/pure.py b/Tools/c-analyzer/c_parser/preprocessor/pure.py
new file mode 100644
index 0000000000..e971389b18
--- /dev/null
+++ b/Tools/c-analyzer/c_parser/preprocessor/pure.py
@@ -0,0 +1,23 @@
+from ..source import (
+ opened as _open_source,
+)
+from . import common as _common
+
+
+def preprocess(lines, filename=None):
+ if isinstance(lines, str):
+ with _open_source(lines, filename) as (lines, filename):
+ yield from preprocess(lines, filename)
+ return
+
+ # XXX actually preprocess...
+ for lno, line in enumerate(lines, 1):
+ kind = 'source'
+ data = line
+ conditions = None
+ yield _common.SourceLine(
+ _common.FileInfo(filename, lno),
+ kind,
+ data,
+ conditions,
+ )