|
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) |