Clean up examples
This commit is contained in:
@@ -292,16 +292,24 @@ public class Generator
|
||||
else
|
||||
{
|
||||
var returnValue = EmitExpression(returnNode.Value);
|
||||
var tmp = NewTmp();
|
||||
_writer.WriteLine($"{MapType(returnNode.Value.Type)} {tmp} = {returnValue};");
|
||||
|
||||
var blockDefers = _deferStack.Peek();
|
||||
for (var i = blockDefers.Count - 1; i >= 0; i--)
|
||||
if (_deferStack.Peek().Count != 0)
|
||||
{
|
||||
EmitStatement(blockDefers[i].Statement);
|
||||
}
|
||||
var tmp = NewTmp();
|
||||
_writer.WriteLine($"{MapType(returnNode.Value.Type)} {tmp} = {returnValue};");
|
||||
|
||||
_writer.WriteLine($"return {tmp};");
|
||||
var blockDefers = _deferStack.Peek();
|
||||
for (var i = blockDefers.Count - 1; i >= 0; i--)
|
||||
{
|
||||
EmitStatement(blockDefers[i].Statement);
|
||||
}
|
||||
|
||||
_writer.WriteLine($"return {tmp};");
|
||||
}
|
||||
else
|
||||
{
|
||||
_writer.WriteLine($"return {returnValue};");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user