edu.neu.ccs.demeterf.control
Class Fields.any

java.lang.Object
  extended by edu.neu.ccs.demeterf.control.Fields.any
Direct Known Subclasses:
AddToken.str, BaseURL.rest, BehDef.body, BehDef.name, BehDefCons.first, BehDefCons.rest, BehFile.behs, BehFile.incl, ChLbl.v, ChRE.val, ClassBound.bound, ClassDef.ext, ClassDef.fields, ClassDef.gen, ClassDef.name, ClassDef.params, ClassDef.subtypes, ConcatRE.res, Cons.first, Cons.rest, Constr.from, Constr.res, DefParams.types, DemFGenMain.imports, DemFGenMain.incl, DemFGenMain.look, DemFGenMain.pkg, DemFGenMain.types, DummyTrav.dfgl, DummyTrav.flds, DummyTrav.otdl, DummyTrav.tdl, Entry.key, Entry.val, EnvEntry.choices, EnvEntry.ret, EnvEntry.type, Field.name, Field.type, FieldCons.first, FieldCons.rest, FinalState.s, FinalState.tok, FunctionClass.meths, FunctionClass.name, GrpChar.ch, GrpLbl.gs, GrpRang.e, GrpRang.s, GrpRE.gs, HTTPHead.url, HTTPHead.ver, HTTPReq.body, HTTPReq.head, HTTPReq.keys, HTTPResp.body, HTTPResp.keys, HTTPResp.label, HTTPResp.resp, HTTPResp.ver, HTTPVer.ver, HuhRE.re, ident.name, Import.pkg, ImportCons.first, ImportCons.rest, Include.file, Include.gen, IncludeCons.first, IncludeCons.rest, IntfcDef.gen, IntfcDef.name, IntfcDef.params, IntfcDef.subtypes, IntfImpl.intf, LexMain.ds, LexMain.lits, LexMain.pkg, LocDef.id, LocDef.re, LocRef.id, LookAhead.n, Mach.rsts, Mach.sts, Mach.trans, Map.tree, Meth.args, Meth.name, Meth.ret, MidURL.id, MidURL.rest, MsgHead.key, MsgHead.value, MTrans.c, MTrans.state, NameCons.first, NameCons.rest, NameDef.bnd, NameDef.id, NChLbl.v, NChRE.v, NENameList.first, NENameList.rest, NEPkgList.id, NEPkgList.rest, NESubtypeList.first, NESubtypeList.rest, NETypeUseList.first, NETypeUseList.rest, NewUpdate.leaf.data, NewUpdate.node.left, NewUpdate.node.right, NFA.fin, NFA.start, NFA.trans, NGrpLbl.gs, NGrpRE.gs, NumQuant.value, OneStep.node.d, OneStep.node.l, OneStep.node.r, OrRE.res, Package.pkg, PkgCons.id, PkgCons.rest, PlusRE.re, RBNode.color, RBNode.data, RBNode.left, RBNode.right, RealToken.str, Set.tree, Some.just, StarRE.re, State.id, StrRE.val, SubtypeCons.first, SubtypeCons.rest, TestC.func, TokDef.id, TokDef.re, Trans.frm, Trans.l, Trans.to, TypeDefCons.first, TypeDefCons.rest, TypeUse.name, TypeUse.params, TypeUseCons.first, TypeUseCons.rest, UseParams.types, verbatim.text, View.incl, View.views, ViewDef.children, ViewDef.name, ViewDef.params, ViewUse.quant, ViewUse.type
Enclosing class:
Fields

public static class Fields.any
extends java.lang.Object

Base Field class that represents the pending traversal of any field.

During traversal, 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 NewUpdate for an example of how the field definition can be used during traversal.


Constructor Summary
Fields.any()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Fields.any

public Fields.any()