Prevent otConverters from ignoring the 'template' type when field name is also a type
This commit is contained in:
parent
f1ecccbbb8
commit
2df3fed98a
@ -59,14 +59,20 @@ def buildConverters(tableSpec, tableNamespace):
|
||||
converterClass = Struct
|
||||
else:
|
||||
converterClass = eval(tp, tableNamespace, converterMapping)
|
||||
if tp in ('MortChain', 'MortSubtable', 'MorxChain'):
|
||||
|
||||
conv = converterClass(name, repeat, aux)
|
||||
|
||||
if conv.tableClass:
|
||||
# A "template" such as OffsetTo(AType) knowss the table class already
|
||||
tableClass = conv.tableClass
|
||||
elif tp in ('MortChain', 'MortSubtable', 'MorxChain'):
|
||||
tableClass = tableNamespace.get(tp)
|
||||
else:
|
||||
tableClass = tableNamespace.get(tableName)
|
||||
if tableClass is not None:
|
||||
conv = converterClass(name, repeat, aux, tableClass=tableClass)
|
||||
else:
|
||||
conv = converterClass(name, repeat, aux)
|
||||
|
||||
if not conv.tableClass:
|
||||
conv.tableClass = tableClass
|
||||
|
||||
if name in ["SubTable", "ExtSubTable", "SubStruct"]:
|
||||
conv.lookupTypes = tableNamespace['lookupTypes']
|
||||
# also create reverse mapping
|
||||
|
Loading…
x
Reference in New Issue
Block a user