Line
Link Here
|
0 |
-- xtypes.py 2012-03-26 18:37:05.000000000 +0200 |
0 |
++ xtypes.py 2013-11-29 16:55:23.629000000 +0100 |
Lines 481-489
Link Here
|
481 |
''' |
481 |
''' |
482 |
def __init__(self, index, name, elt, *parent): |
482 |
def __init__(self, index, name, elt, *parent): |
483 |
elts = list(elt) |
483 |
elts = list(elt) |
484 |
self.expr = Expression(elts[0] if len(elts) else elt, self) |
484 |
self.expr = [] |
485 |
ComplexType.__init__(self, name, elts[1:]) |
485 |
fields = [] |
486 |
self.has_name = True |
486 |
for elt in elts: |
|
|
487 |
if elt.tag == 'enumref': |
488 |
self.expr.append(Expression(elt, self)) |
489 |
else: |
490 |
fields.append(elt) |
491 |
ComplexType.__init__(self, name, fields) |
492 |
self.has_name = True |
487 |
self.index = 1 |
493 |
self.index = 1 |
488 |
self.lenfield_parent = list(parent) + [self] |
494 |
self.lenfield_parent = list(parent) + [self] |
489 |
self.parents = list(parent) |
495 |
self.parents = list(parent) |
Lines 511-517
Link Here
|
511 |
if self.resolved: |
517 |
if self.resolved: |
512 |
return |
518 |
return |
513 |
|
519 |
|
514 |
self.expr.resolve(module, self.parents+[self]) |
520 |
for e in self.expr: |
|
|
521 |
e.resolve(module, self.parents+[self]) |
515 |
|
522 |
|
516 |
# Resolve the bitcase expression |
523 |
# Resolve the bitcase expression |
517 |
ComplexType.resolve(self, module) |
524 |
ComplexType.resolve(self, module) |