[Context] Ensure pop happens when an error is thrown

This commit is contained in:
Kyle Fuller
2016-03-05 00:23:08 +00:00
parent 48026cde2c
commit 67d4c52535
5 changed files with 26 additions and 36 deletions

View File

@@ -67,15 +67,12 @@ public class IfNode : NodeType {
truthy = true
}
context.push()
let output:String
if truthy {
output = try renderNodes(trueNodes, context)
} else {
output = try renderNodes(falseNodes, context)
return try context.push {
if truthy {
return try renderNodes(trueNodes, context)
} else {
return try renderNodes(falseNodes, context)
}
}
context.pop()
return output
}
}