code: function (data) {
        var outputData = ''
        if (!(typeof data === 'object')) {
          data = {}
        }
  
        // Define smarty inside data and copy smarty vars, so one can use $smarty
        // vars inside templates.
        data.smarty = {}
        objectMerge(data.smarty, this.smarty)
  
        // Take default global modifiers, add with local default modifiers.
        // Merge them and keep them cached.
        this.globalAndDefaultModifiers = jSmart.prototype.defaultModifiersGlobal.concat(this.defaultModifiers)
  
        // Take default global filters, add with local default filters.
        // Merge them and keep them cached.
        this.globalAndDefaultFilters = jSmart.prototype.filtersGlobal.variable.concat(this.filters.variable)
  
        jSmartProcessor.clear()
        jSmartProcessor.plugins = this.plugins
        jSmartProcessor.modifiers = this.modifiers
        jSmartProcessor.defaultModifiers = this.defaultModifiers
        jSmartProcessor.escapeHtml = this.escapeHtml
        jSmartProcessor.variableFilters = this.globalAndDefaultFilters
        jSmartProcessor.runTimePlugins = this.runTimePlugins
        jSmartProcessor.blocks = this.blocks
        jSmartProcessor.outerBlocks = this.outerBlocks
        jSmartProcessor.debugging = this.debugging
  
        // Capture the output by processing the template.
        outputData = jSmartProcessor.getProcessed(this.tree, data, this.smarty)
  
        // Merge back smarty data returned by process to original object.
        objectMerge(this.smarty, outputData.smarty)
        // Apply post filters to output and return the template data.
        return this.applyFilters(jSmart.prototype.filtersGlobal.post.concat(this.filters.post), outputData.output)
      }
docs: Process the generated tree.