fix toggling of AST validation (#4499)
authorAlex Lam S.L <alexlamsl@gmail.com>
Sun, 3 Jan 2021 03:09:10 +0000 (03:09 +0000)
committerGitHub <noreply@github.com>
Sun, 3 Jan 2021 03:09:10 +0000 (11:09 +0800)
lib/ast.js

index a7885a7..7b4c03d 100644 (file)
@@ -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);
 };