package edu.neu.ccs.demeterf;
/** Represents a containment class for Fields
* We encode seperate argument paths with inner classes that extend
* Fields.any
.
*/
public class Fields {
public static Fields.any any = new Fields.any();
/** Base Field class that represents the pending traversal of any field.
*
During traversal, {@link edu.neu.ccs.demeterf.FC Function Classes} * implement update methods that motify traversal arguments. The second * parameter to these methods should be a subclass of Fields.any that * represents the field about to be traversed. *
* * We use the encoding that a class C with field F should * contain an inner public static class with the same name as the * field name: * *
* // Class definition for C
* public class C{
* // Single Field... F
* String F;
*
* // Constructor
* public C(String F){ this.F = F; }
*
* // Field class definition
* public static class F extends Fields.any{}
* }
*
*
* See {@link edu.neu.ccs.demeterf.examples.NewUpdate NewUpdate} for an example of * how the field definition can be used during traversal.
*/ public static class any{} }