Class Resolver3.LocalInstance

java.lang.Object
eu.bandm.tools.d2d2.base.Resolver3.Instance
eu.bandm.tools.d2d2.base.Resolver3.LocalInstance
All Implemented Interfaces:
Cloneable
Enclosing class:
Resolver3

class Resolver3.LocalInstance extends Resolver3.Instance
Represents rewrite results of insertion operators which must be reified because of recursion. E.g.
   A.B { 
     a =  @b ^(c/d) , @b
   }       |
           A.B .a .0 .b

   A.B { 
     import C = cc ^( a /  @b ^(c/d)) in f ^( g /  @b ^(c/d))
   }                                                |
                                                    A.B .C.1.b

  
  • Field Details

    • impContext

      @Opt final @Opt ImportItem impContext
      ImportItem hosting the inserted reference. This is the nth occurence in all import rewrite expressions. If ==null, then defContext!=null.
    • defContext

      @Opt final @Opt XRegExp defContext
      Definition hosting the inserted reference. It is the nth occurence in the ".value" expression. If ==null, then impContext!=null.
    • referencePosition

      final int referencePosition
      The number n of the occurence of the inserted reference in defContext.
    • cycleFound

      boolean cycleFound
      Whether the rewrite reached a cyclic reference, thus requiring reification.
  • Constructor Details