CodeGenerator is historical. I could rename it to SWF8CodeGenerator, but we haven't for so long, and I figure eventually it will just go away.
On 2009-10-30, at 01:09, Max Carlson wrote: > Approved! I diffed a decompiled swf8 LFC as well as the lzc -- > script output for a webtop compile. It all looks good! > > I wish there was better documentation and naming - it took me a bit > of reading to figure out what verious methods and classes were > doing. For example, the name CodeGenerator doesn't really say > anything about doing swf8 bytecode generation. I think your new > method names are an improvement. > > P T Withington wrote: >> Change 20091029-ptw-1 by [email protected] on 2009-10-29 15:18:26 EDT >> in /Users/ptw/OpenLaszlo/trunk >> for http://svn.openlaszlo.org/openlaszlo/trunk >> Summary: Remodularize the AST walkers >> Bugs Fixed: LPP-7184 Binary libraries don't work in swf9 (substrate) >> Technical Reviewer: max (pending) >> QA Reviewer: hminsky (pending) >> Details: >> Overview >> Create a generic abstract syntax tree walker that knows how to >> visit every node and (possibly) rewrite it. Subclass that for >> each of the possible code generators. Use that to untangle the >> compressor from the code generator. In the future, it can be used >> to create other compiler phases, like to pre-analyze global >> declarations and class models, to do inlining, and to >> post-optimize, compress, and obfuscate. >> There is more cleanup that could be done to create a class that is >> for JS1 platforms separate from JS2 platforms, but that is not >> required for LPP-7184, so I have not attempted that here. >> JavascriptGenerator, CommonGenerator: Remove methods that >> duplicate GenericVisitor or are only required in CodeGenerator >> (swf8). >> JavascriptGenerator: Customize translateFunctionInternal for >> Javascript (new name because it requires a different signature for >> now). >> VariableAnalyzer: Only requires ASTVisitor interface. >> CommonGenerator: Extend GenericVisitor. Move include parsing up >> to GenericVisitor. >> TranslationContext: Remove methods only needed for swf8. >> ASTVisitor: Move options here from Translator. Complete >> signature for all AST's. >> Compiler: Remove ACTIVATION_OBJECT default (not needed since >> swf5!). Continue to kludge interface to CodeGenerator. >> CodeGenerator: Create SWFTranslationContext that extends >> TranslationContext with the features only needed for swf8. Move >> swf8 overrides from CommonGenerator here. >> JavascriptCompressor: Extend GenericVisitor, overriding just >> enough visitors to analyze and rename function locals. >> Translator: Move options to ASTVisitor and swf8-specific >> interfaces to CodeGenerator. >> GenericVisitor: (new) Knows how to expand includes and walk all >> nodes of the parse tree, possibly rewriting. What we should have >> done when we started the DHTML project, but did not have time >> for... >> ParseTreePrinter: Debug and name tweaks. >> Tests: >> Smokecheck on all platforms, diff of LFCdhtml.js before and after. >> Files: >> M WEB-INF/lps/server/src/org/openlaszlo/sc/ >> JavascriptGenerator.java >> M WEB-INF/lps/server/src/org/openlaszlo/sc/VariableAnalyzer.java >> M WEB-INF/lps/server/src/org/openlaszlo/sc/CommonGenerator.java >> M WEB-INF/lps/server/src/org/openlaszlo/sc/ >> TranslationContext.java >> M WEB-INF/lps/server/src/org/openlaszlo/sc/ASTVisitor.java >> M WEB-INF/lps/server/src/org/openlaszlo/sc/Compiler.java >> M WEB-INF/lps/server/src/org/openlaszlo/sc/CodeGenerator.java >> M WEB-INF/lps/server/src/org/openlaszlo/sc/ >> JavascriptCompressor.java >> M WEB-INF/lps/server/src/org/openlaszlo/sc/Translator.java >> A WEB-INF/lps/server/src/org/openlaszlo/sc/GenericVisitor.java >> M WEB-INF/lps/server/src/org/openlaszlo/sc/ParseTreePrinter.java >> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20091029-ptw-1.tar > > -- > Regards, > Max Carlson > OpenLaszlo.org _______________________________________________ Laszlo-reviews mailing list [email protected] http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews
