[ttProgram] don't write empty <assembly> or <bytecode> elements
That means that, when reading from XML, we fallback to empty lists in case 'assembly' or 'bytecode' attrs are not there.
This commit is contained in:
parent
499bc960f9
commit
f9071139b1
@ -248,6 +248,8 @@ class Program(object):
|
|||||||
writer.endtag("bytecode")
|
writer.endtag("bytecode")
|
||||||
writer.newline()
|
writer.newline()
|
||||||
else:
|
else:
|
||||||
|
if not assembly:
|
||||||
|
return
|
||||||
writer.begintag("assembly")
|
writer.begintag("assembly")
|
||||||
writer.newline()
|
writer.newline()
|
||||||
i = 0
|
i = 0
|
||||||
@ -282,9 +284,12 @@ class Program(object):
|
|||||||
writer.endtag("assembly")
|
writer.endtag("assembly")
|
||||||
writer.newline()
|
writer.newline()
|
||||||
else:
|
else:
|
||||||
|
bytecode = self.getBytecode()
|
||||||
|
if not bytecode:
|
||||||
|
return
|
||||||
writer.begintag("bytecode")
|
writer.begintag("bytecode")
|
||||||
writer.newline()
|
writer.newline()
|
||||||
writer.dumphex(self.getBytecode())
|
writer.dumphex(bytecode)
|
||||||
writer.endtag("bytecode")
|
writer.endtag("bytecode")
|
||||||
writer.newline()
|
writer.newline()
|
||||||
|
|
||||||
@ -298,7 +303,7 @@ class Program(object):
|
|||||||
self.fromBytecode(readHex(content))
|
self.fromBytecode(readHex(content))
|
||||||
|
|
||||||
def _assemble(self):
|
def _assemble(self):
|
||||||
assembly = self.assembly
|
assembly = getattr(self, 'assembly', [])
|
||||||
if isinstance(assembly, type([])):
|
if isinstance(assembly, type([])):
|
||||||
assembly = ' '.join(assembly)
|
assembly = ' '.join(assembly)
|
||||||
bytecode = []
|
bytecode = []
|
||||||
@ -423,7 +428,7 @@ class Program(object):
|
|||||||
def _disassemble(self, preserve=False):
|
def _disassemble(self, preserve=False):
|
||||||
assembly = []
|
assembly = []
|
||||||
i = 0
|
i = 0
|
||||||
bytecode = self.bytecode
|
bytecode = getattr(self, 'bytecode', [])
|
||||||
numBytecode = len(bytecode)
|
numBytecode = len(bytecode)
|
||||||
while i < numBytecode:
|
while i < numBytecode:
|
||||||
op = bytecode[i]
|
op = bytecode[i]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user