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{} }