diff --git a/lib/ast.js b/lib/ast.js index a7885a79..7b4c03d7 100644 --- a/lib/ast.js +++ b/lib/ast.js @@ -160,6 +160,8 @@ var restore_transforms = []; AST_Node.enable_validation = function() { AST_Node.disable_validation(); (function validate_transform(ctor) { + ctor.SUBCLASSES.forEach(validate_transform); + if (!HOP(ctor.prototype, "transform")) return; var transform = ctor.prototype.transform; ctor.prototype.transform = function(tw, in_list) { var node = transform.call(this, tw, in_list); @@ -173,7 +175,6 @@ AST_Node.enable_validation = function() { restore_transforms.push(function() { ctor.prototype.transform = transform; }); - ctor.SUBCLASSES.forEach(validate_transform); })(this); };