de.grogra.rgg
Class ByteSynth<T>

java.lang.Object
  extended by de.grogra.rgg.ByteSynth<T>
Type Parameters:
T - the type of objects for which synthesized attributes are computed
All Implemented Interfaces:
VoidToByteGenerator

public final class ByteSynth<T>
extends java.lang.Object
implements VoidToByteGenerator

Instances of ByteSynth are used in the context of the method Library.synthesize(Object, ObjectToObjectGenerator, ObjectToByte). and represent the information needed for the computation of a synthesized attribute: object is the current object for which the synthesized attribute has to be computed, the generator method evaluateByte yields the values of the synthesized attributes of object's descendants.

Author:
Ole Kniemeyer

Field Summary
 T object
          The current object.
 
Constructor Summary
ByteSynth()
           
 
Method Summary
 void evaluateByte(ByteConsumer cons)
          This generator method yields the values of the synthesized attribute for every descendant of object.
 byte get(int index)
           
 int size()
           
 void values(ByteConsumer cons)
          This method is an alias for evaluateByte(de.grogra.xl.lang.ByteConsumer).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

object

public T object
The current object.

Constructor Detail

ByteSynth

public ByteSynth()
Method Detail

evaluateByte

public void evaluateByte(ByteConsumer cons)
This generator method yields the values of the synthesized attribute for every descendant of object. These values have been computed previously.

Specified by:
evaluateByte in interface VoidToByteGenerator
Parameters:
cons - the consumer which receives the values of synthesized attribute of descendants

get

public byte get(int index)

size

public int size()

values

public void values(ByteConsumer cons)
This method is an alias for evaluateByte(de.grogra.xl.lang.ByteConsumer).