__pragma__('skip') used in `with` statement now skips codegeneration for nested context managers completely.
Previously it could produce invalid code like this:
var __withid0__ = ;
try {
__withid0__.__enter__ ();
__withid0__.__exit__ ();
}
@@ -3474,6 +3474,10 @@ return list (selfFields).''' + comparatorName + '''(list (otherFields));
@contextmanager
def itemContext (item):
+ if not self.noskipCodeGeneration:
+ yield
+ return
+
self.emit ('var ') # Should be in surrounding scope but may be overwritten, so use var rather than let
if (item.optional_vars):
self.visit (item.optional_vars)
