Squash: Difference between revisions

No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
Squash is a [http://weblogs.mozillazine.org/roadmap/archives/2006/11/oinkbased_patch_generation.html patch generation] tool to assist with [[Gecko:DeCOMtamination]].
Squash is a [http://weblogs.mozillazine.org/roadmap/archives/2006/11/oinkbased_patch_generation.html patch generation] tool to assist with [[Gecko:DeCOMtamination]].
This [http://blog.mozilla.com/tglek/2007/01/03/squashed-and-compiled blog post] describes how to use squash.
This [http://blog.mozilla.com/tglek/2007/01/03/squashed-and-compiled blog post] describes how to use squash.
== Squash: refactoring tool ==
* Quickly produce large refactoring patches
* Automate parts of deCOMtamination: class squashing & out-param rewriting (in the near future)
* Helps replace deprecated APIs at call-sites & function renaming
* Could be integrated into any editor to do eclipse-style refactoring.
* Has a web frontend.
* Since the squash isn't tied to an IDE, it should evolve quicker. If you discover a boring rewrite task that could be implement as an algorithm - it maybe easier to extend squash than to perform it by hand.
* '''FIXME''': CPP causes blind-spots in the code.
* '''FIXME''': Lack of precise source locations in parts of the AST.
* '''TODO''': Add Objective C++ support for OSX issues like [https://bugzilla.mozilla.org/show_bug.cgi?id=163260 Exception Checking]

Latest revision as of 19:04, 18 June 2007

Squash is a patch generation tool to assist with Gecko:DeCOMtamination. This blog post describes how to use squash.


Squash: refactoring tool

  • Quickly produce large refactoring patches
  • Automate parts of deCOMtamination: class squashing & out-param rewriting (in the near future)
  • Helps replace deprecated APIs at call-sites & function renaming
  • Could be integrated into any editor to do eclipse-style refactoring.
  • Has a web frontend.
  • Since the squash isn't tied to an IDE, it should evolve quicker. If you discover a boring rewrite task that could be implement as an algorithm - it maybe easier to extend squash than to perform it by hand.
  • FIXME: CPP causes blind-spots in the code.
  • FIXME: Lack of precise source locations in parts of the AST.