aboutsummaryrefslogtreecommitdiffstats
path: root/libc/kernel/tools/cpp.py
diff options
context:
space:
mode:
authorMartin Storsjo <martin@martin.st>2010-12-08 11:38:14 +0100
committerMartin Storsjo <martin@martin.st>2010-12-08 11:40:59 +0100
commitd32c8052fc2b2d3c5da344eb673df35d4a5bc052 (patch)
tree453039efa2d214c68a422bda36921eb7266a0296 /libc/kernel/tools/cpp.py
parent1bc98ccb76c147c46bd666f05247eb11e2847d4b (diff)
downloadandroid_bionic-d32c8052fc2b2d3c5da344eb673df35d4a5bc052.tar.gz
android_bionic-d32c8052fc2b2d3c5da344eb673df35d4a5bc052.tar.bz2
android_bionic-d32c8052fc2b2d3c5da344eb673df35d4a5bc052.zip
Add a method for replacing tokens in the preprocessed headers
Change-Id: I14cf6337945560b012732ae0fe7a247074810678
Diffstat (limited to 'libc/kernel/tools/cpp.py')
-rw-r--r--libc/kernel/tools/cpp.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/libc/kernel/tools/cpp.py b/libc/kernel/tools/cpp.py
index 4b4bd3826..8828a5d23 100644
--- a/libc/kernel/tools/cpp.py
+++ b/libc/kernel/tools/cpp.py
@@ -1863,6 +1863,16 @@ class BlockList:
tokens = tokens[:-1] # remove trailing tokLN
self.blocks = [ Block(tokens) ] + self.blocks
+ def replaceTokens(self,replacements=dict()):
+ """replace tokens according to the given dict
+ """
+ for b in self.blocks:
+ if not b.isDirective():
+ for tok in b.tokens:
+ if tok.id == tokIDENT:
+ if tok.value in replacements:
+ tok.value = replacements[tok.value]
+
class BlockParser:
"""a class used to convert an input source file into a BlockList object"""