fix toggling of AST validation

This commit is contained in:
alexlamsl 2021-01-03 09:33:49 +08:00
parent 110c1ac097
commit 2f4f55cb0e

View File

@ -160,6 +160,8 @@ var restore_transforms = [];
AST_Node.enable_validation = function() { AST_Node.enable_validation = function() {
AST_Node.disable_validation(); AST_Node.disable_validation();
(function validate_transform(ctor) { (function validate_transform(ctor) {
ctor.SUBCLASSES.forEach(validate_transform);
if (!HOP(ctor.prototype, "transform")) return;
var transform = ctor.prototype.transform; var transform = ctor.prototype.transform;
ctor.prototype.transform = function(tw, in_list) { ctor.prototype.transform = function(tw, in_list) {
var node = transform.call(this, tw, in_list); var node = transform.call(this, tw, in_list);
@ -173,7 +175,6 @@ AST_Node.enable_validation = function() {
restore_transforms.push(function() { restore_transforms.push(function() {
ctor.prototype.transform = transform; ctor.prototype.transform = transform;
}); });
ctor.SUBCLASSES.forEach(validate_transform);
})(this); })(this);
}; };