/** * DemeterF Main package: transformation/traversals with optional arguments. * *

Traversals are parametrized by a function objects. * Each function class (FC) implements combine and/or * update methods, which are called by a traversal when walking a * structure.

* *

Note: update methods are only called when the Traversal * traverse(Object o, Object a) method is called; i.e., when the * original traversal is passed a starting context. See * {@link edu.neu.ccs.demeterf.examples Examples} for, well... some examples.

* * * * Return types of these methods can be as specific or general as you like. Argument * types are used for method execution selection, so they should match expected * subtraversal return values. For development safety, during traversal a * BuilderException is thrown if no combine method * with an applicable signature is found. * * See the individual packages/classes for more info. */ package edu.neu.ccs.demeterf;