Class ATNDeserializer

java.lang.Object
org.antlr.v4.runtime.atn.ATNDeserializer

public class ATNDeserializer extends Object
  • Field Details

    • SERIALIZED_VERSION

      public static final int SERIALIZED_VERSION
    • BASE_SERIALIZED_UUID

      private static final UUID BASE_SERIALIZED_UUID
      This is the earliest supported serialized UUID.
    • ADDED_PRECEDENCE_TRANSITIONS

      private static final UUID ADDED_PRECEDENCE_TRANSITIONS
      This UUID indicates an extension of BASE_SERIALIZED_UUID for the addition of precedence predicates.
    • ADDED_LEXER_ACTIONS

      private static final UUID ADDED_LEXER_ACTIONS
      This UUID indicates an extension of ADDED_PRECEDENCE_TRANSITIONS for the addition of lexer actions encoded as a sequence of LexerAction instances.
    • ADDED_UNICODE_SMP

      private static final UUID ADDED_UNICODE_SMP
      This UUID indicates the serialized ATN contains two sets of IntervalSets, where the second set's values are encoded as 32-bit integers to support the full Unicode SMP range up to U+10FFFF.
    • SUPPORTED_UUIDS

      private static final List<UUID> SUPPORTED_UUIDS
      This list contains all of the currently supported UUIDs, ordered by when the feature first appeared in this branch.
    • SERIALIZED_UUID

      public static final UUID SERIALIZED_UUID
      This is the current serialized UUID.
    • deserializationOptions

      private final ATNDeserializationOptions deserializationOptions
  • Constructor Details

    • ATNDeserializer

      public ATNDeserializer()
    • ATNDeserializer

      public ATNDeserializer(ATNDeserializationOptions deserializationOptions)
  • Method Details

    • getUnicodeDeserializer

    • isFeatureSupported

      protected static boolean isFeatureSupported(UUID feature, UUID actualUuid)
      Determines if a particular serialized representation of an ATN supports a particular feature, identified by the UUID used for serializing the ATN at the time the feature was first introduced.
      Parameters:
      feature - The UUID marking the first time the feature was supported in the serialized ATN.
      actualUuid - The UUID of the actual serialized ATN which is currently being deserialized.
      Returns:
      true if the actualUuid value represents a serialized ATN at or after the feature identified by feature was introduced; otherwise, false.
    • deserialize

      public ATN deserialize(char[] data)
    • deserializeSets

      private int deserializeSets(char[] data, int p, List<IntervalSet> sets, ATNDeserializer.UnicodeDeserializer unicodeDeserializer)
    • markPrecedenceDecisions

      protected void markPrecedenceDecisions(ATN atn)
      Analyze the StarLoopEntryState states in the specified ATN to set the StarLoopEntryState.isPrecedenceDecision field to the correct value.
      Parameters:
      atn - The ATN.
    • verifyATN

      protected void verifyATN(ATN atn)
    • checkCondition

      protected void checkCondition(boolean condition)
    • checkCondition

      protected void checkCondition(boolean condition, String message)
    • toInt

      protected static int toInt(char c)
    • toInt32

      protected static int toInt32(char[] data, int offset)
    • toLong

      protected static long toLong(char[] data, int offset)
    • toUUID

      protected static UUID toUUID(char[] data, int offset)
    • edgeFactory

      protected Transition edgeFactory(ATN atn, int type, int src, int trg, int arg1, int arg2, int arg3, List<IntervalSet> sets)
    • stateFactory

      protected ATNState stateFactory(int type, int ruleIndex)
    • lexerActionFactory

      protected LexerAction lexerActionFactory(LexerActionType type, int data1, int data2)