diff options
author | Martin Storsjo <martin@martin.st> | 2010-12-08 11:38:14 +0100 |
---|---|---|
committer | Martin Storsjo <martin@martin.st> | 2010-12-08 11:40:59 +0100 |
commit | d32c8052fc2b2d3c5da344eb673df35d4a5bc052 (patch) | |
tree | 453039efa2d214c68a422bda36921eb7266a0296 /libc/kernel/tools/cpp.py | |
parent | 1bc98ccb76c147c46bd666f05247eb11e2847d4b (diff) | |
download | android_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.py | 10 |
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""" |