docs: public ScriptNode transformTree(AstRoot root) {
          currentScriptOrFn = root;
          this.inUseStrictDirective = root.isInStrictMode();
          int sourceStartOffset = decompiler.getCurrentOffset();
  
          if (Token.printTrees) {
              System.out.println("IRFactory.transformTree");
              System.out.println(root.debugPrint());
          }
          ScriptNode script = (ScriptNode)transform(root);
  
          int sourceEndOffset = decompiler.getCurrentOffset();
          script.setEncodedSourceBounds(sourceStartOffset,
                                        sourceEndOffset);
  
          if (compilerEnv.isGeneratingSource()) {
              script.setEncodedSource(decompiler.getEncodedSource());
          }
  
          decompiler = null;
          return script;
      }