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 ; }
Transforms the tree into a lower - level IR suitable for codegen . Optionally generates the encoded source .