Index: grit/grd_reader.py |
diff --git a/grit/grd_reader.py b/grit/grd_reader.py |
index 055ad73852ee99d0fe352f197e37f36accfd7e7a..87eec5e622ce89ef77643ba3fb0db127e03cc00d 100644 |
--- a/grit/grd_reader.py |
+++ b/grit/grd_reader.py |
@@ -24,7 +24,8 @@ class StopParsingException(Exception): |
class GrdContentHandler(xml.sax.handler.ContentHandler): |
- def __init__(self, stop_after, debug, dir, defines, tags_to_ignore): |
+ def __init__(self, stop_after, debug, dir, defines, tags_to_ignore, |
+ target_platform): |
# Invariant of data: |
# 'root' is the root of the parse tree being created, or None if we haven't |
# parsed out any elements. |
@@ -39,6 +40,7 @@ class GrdContentHandler(xml.sax.handler.ContentHandler): |
self.defines = defines |
self.tags_to_ignore = tags_to_ignore or set() |
self.ignore_depth = 0 |
+ self.target_platform = target_platform |
def startElement(self, name, attrs): |
if self.ignore_depth or name in self.tags_to_ignore: |
@@ -61,6 +63,9 @@ class GrdContentHandler(xml.sax.handler.ContentHandler): |
else: |
assert self.root is None |
self.root = node |
+ if isinstance(self.root, misc.GritNode): |
+ if self.target_platform: |
+ self.root.SetTargetPlatform(self.target_platform) |
node.StartParsing(name, None) |
if self.defines: |
node.SetDefines(self.defines) |
@@ -175,7 +180,8 @@ def Parse(filename_or_stream, dir=None, stop_after=None, first_ids_file=None, |
dir = util.dirname(filename_or_stream) |
handler = GrdContentHandler(stop_after=stop_after, debug=debug, dir=dir, |
- defines=defines, tags_to_ignore=tags_to_ignore) |
+ defines=defines, tags_to_ignore=tags_to_ignore, |
+ target_platform=target_platform) |
try: |
xml.sax.parse(filename_or_stream, handler) |
except StopParsingException: |
@@ -195,8 +201,6 @@ def Parse(filename_or_stream, dir=None, stop_after=None, first_ids_file=None, |
handler.root.SetOwnDir(dir) |
if isinstance(handler.root, misc.GritNode): |
- if target_platform: |
- handler.root.SetTargetPlatform(target_platform) |
if first_ids_file: |
# Make the path to the first_ids_file relative to the grd file, |
# unless it begins with GRIT_DIR. |