Class CountEmitter


  • public class CountEmitter
    extends PackEmitter
    An emitter for an array encoded as count/value pairs in a string.
    Version:
    JFlex 1.8.2
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int numEntries
      number of entries in expanded array
      private int translate
      translate all values by this amount
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected CountEmitter​(java.lang.String name)
      Create a count/value emitter for a specific field.
    • Field Detail

      • numEntries

        private int numEntries
        number of entries in expanded array
      • translate

        private int translate
        translate all values by this amount
    • Constructor Detail

      • CountEmitter

        protected CountEmitter​(java.lang.String name)
        Create a count/value emitter for a specific field.
        Parameters:
        name - name of the generated array
    • Method Detail

      • setValTranslation

        public void setValTranslation​(int i)
        Translate all values by given amount.

        Use to move value interval from [0, 0xFFFF] to something different.

        Parameters:
        i - amount the value will be translated by. Example: i = 1 allows values in [-1, 0xFFFE].
      • emit

        public void emit​(int count,
                         int value)
        Emit one count/value pair.

        Automatically translates value by the translate value.

        Parameters:
        count - a int.
        value - a int.
        See Also:
        setValTranslation(int)
      • emitCountValueString

        public void emitCountValueString​(int[] a)
        Emits a plain int array as a count/value string. Expects the preamble code (declaration, javadoc) to already be emitted. Values in the array must be no larger than 0xFFFF (encoded as char), array must have at least one element.