Skip to content

Commit 66516da

Browse files
committed
Refactor xmlparser.py: use pure-proc interface.
1 parent e61f189 commit 66516da

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

Support/Python/pdbxml/session.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import sys
22

33
from .ctype import CTree
4-
from .xmlparser import XmlParser
4+
from .xmlparser import parse_xml
55
from .sorter import sort_structs
66
from .definer import Definer, BraceDefMaker
77
from .primtypes import setup_goo_matcher
@@ -12,9 +12,10 @@ def __init__(self):
1212
self._file_index = 0
1313

1414
def load(self, file_path):
15-
parser = XmlParser(file_path)
1615
self._storage.begin_file(self._file_index)
17-
parser.read_to_storage(self._storage)
16+
name_type_pairs = parse_xml(file_path)
17+
for name, type in name_type_pairs:
18+
self._storage.add(name, type)
1819
self._storage.end_file()
1920
self._file_index += 1
2021

Support/Python/pdbxml/xmlparser.py

+9-5
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,12 @@ def _read_func(self, id, t, conv):
137137
t.add(self._read_type(e_arg, True))
138138
return t
139139

140-
def read_to_storage(self, storage):
141-
for e_type in self._named:
142-
name = e_type.attrib['name']
143-
type = self._read_named(e_type)
144-
storage.add(name, type)
140+
def read_all(self):
141+
return [
142+
(e_type.attrib['name'], self._read_named(e_type))
143+
for e_type in self._named
144+
]
145+
146+
def parse_xml(file_path):
147+
parser = XmlParser(file_path)
148+
return parser.read_all()

0 commit comments

Comments
 (0)