Top Inners Fields Constructors Methods
org.antlr.v4.runtime.atn

public Class ATNDeserializer

extends Object
Class Inheritance
Imports
org.antlr.v4.runtime.Token, org.antlr.v4.runtime.dfa.DFA, org.antlr.v4.runtime.misc.Interval, .IntervalSet, .NotNull, .Nullable, .Tuple, .Tuple2, .Tuple3, java.io.InvalidClassException, java.util.ArrayDeque, .ArrayList, .BitSet, .Deque, .HashMap, .LinkedHashSet, .List, .Locale, .Map, .Set, .UUID

Author
Sam Harwell

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static interface
pack-priv static enum

Field Summary

Modifier and TypeField and Description
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.

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.

private static final UUID
BASE_SERIALIZED_UUID

This is the earliest supported serialized UUID.

private final ATNDeserializationOptions
public static final UUID
SERIALIZED_UUID

This is the current serialized UUID.

public static final int
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.

Constructor Summary

AccessConstructor and Description
public
public

Method Summary

Modifier and TypeMethod and Description
protected void
checkCondition(boolean condition)

protected void
checkCondition(boolean condition, String message)

private static int
public ATN
deserialize(char[] data)

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

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

pack-priv static ATNDeserializer.UnicodeDeserializer
private static void
private static int
protected boolean

Returns:

true if the actualUuid value represents a serialized ATN at or after the feature identified by feature was introduced; otherwise, false.
isFeatureSupported
(UUID
The UUID marking the first time the feature was supported in the serialized ATN.
feature
,
UUID
The UUID of the actual serialized ATN which is currently being deserialized.
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.

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

protected void
markPrecedenceDecisions(ATN
The ATN.
atn
)

Analyze the StarLoopEntryState states in the specified ATN to set the StarLoopEntryState#precedenceRuleDecision field to the correct value.

private static int
optimizeSets(ATN atn, boolean preserveOrder)

protected ATNState
stateFactory(int type, int ruleIndex)

private static boolean
testTailCall(ATN atn, RuleTransition transition, boolean optimizedPath)

protected static int
toInt(char c)

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

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

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

protected void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

ADDED_LEXER_ACTIONSback to summary
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_SMPback to summary
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.

BASE_SERIALIZED_UUIDback to summary
private static final UUID BASE_SERIALIZED_UUID

This is the earliest supported serialized UUID.

deserializationOptionsback to summary
private final ATNDeserializationOptions deserializationOptions
Annotations
@NotNull
SERIALIZED_UUIDback to summary
public static final UUID SERIALIZED_UUID

This is the current serialized UUID.

SERIALIZED_VERSIONback to summary
public static final int SERIALIZED_VERSION
SUPPORTED_UUIDSback to summary
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.

Constructor Detail

ATNDeserializerback to summary
public ATNDeserializer()
ATNDeserializerback to summary
public ATNDeserializer(ATNDeserializationOptions deserializationOptions)

Method Detail

checkConditionback to summary
protected void checkCondition(boolean condition)
checkConditionback to summary
protected void checkCondition(boolean condition, String message)
combineChainedEpsilonsback to summary
private static int combineChainedEpsilons(ATN atn)
deserializeback to summary
public ATN deserialize(char[] data)
Annotations
@SuppressWarnings:deprecation
deserializeSetsback to summary
private int deserializeSets(char[] data, int p, List<IntervalSet> sets, ATNDeserializer.UnicodeDeserializer unicodeDeserializer)
edgeFactoryback to summary
protected Transition edgeFactory(ATN atn, int type, int src, int trg, int arg1, int arg2, int arg3, List<IntervalSet> sets)
Annotations
@NotNull
getUnicodeDeserializerback to summary
pack-priv static ATNDeserializer.UnicodeDeserializer getUnicodeDeserializer(ATNDeserializer.UnicodeDeserializingMode mode)
identifyTailCallsback to summary
private static void identifyTailCalls(ATN atn)
inlineSetRulesback to summary
private static int inlineSetRules(ATN atn)
isFeatureSupportedback to summary
protected 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:UUID

The UUID marking the first time the feature was supported in the serialized ATN.

actualUuid:UUID

The UUID of the actual serialized ATN which is currently being deserialized.

Returns:boolean

true if the actualUuid value represents a serialized ATN at or after the feature identified by feature was introduced; otherwise, false.

lexerActionFactoryback to summary
protected LexerAction lexerActionFactory(LexerActionType type, int data1, int data2)
markPrecedenceDecisionsback to summary
protected void markPrecedenceDecisions(ATN atn)

Analyze the StarLoopEntryState states in the specified ATN to set the StarLoopEntryState#precedenceRuleDecision field to the correct value.

Parameters
atn:ATN

The ATN.

optimizeSetsback to summary
private static int optimizeSets(ATN atn, boolean preserveOrder)
stateFactoryback to summary
protected ATNState stateFactory(int type, int ruleIndex)
testTailCallback to summary
private static boolean testTailCall(ATN atn, RuleTransition transition, boolean optimizedPath)
toIntback to summary
protected static int toInt(char c)
toInt32back to summary
protected static int toInt32(char[] data, int offset)
toLongback to summary
protected static long toLong(char[] data, int offset)
toUUIDback to summary
protected static UUID toUUID(char[] data, int offset)
verifyATNback to summary
protected void verifyATN(ATN atn)
org.antlr.v4.runtime.atn back to summary

pack-priv Interface ATNDeserializer.UnicodeDeserializer


Method Summary

Modifier and TypeMethod and Description
public int
readUnicode(char[] data, int p)

public int
size()

Method Detail

readUnicodeback to summary
public int readUnicode(char[] data, int p)
sizeback to summary
public int size()
org.antlr.v4.runtime.atn back to summary

pack-priv final Enum ATNDeserializer.UnicodeDeserializingMode

extends Enum<ATNDeserializer.UnicodeDeserializingMode>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final ATNDeserializer.UnicodeDeserializingMode
public static final ATNDeserializer.UnicodeDeserializingMode

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static ATNDeserializer.UnicodeDeserializingMode
public static ATNDeserializer.UnicodeDeserializingMode[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

UNICODE_BMPback to summary
public static final ATNDeserializer.UnicodeDeserializingMode UNICODE_BMP
UNICODE_SMPback to summary
public static final ATNDeserializer.UnicodeDeserializingMode UNICODE_SMP

Constructor Detail

UnicodeDeserializingModeback to summary
private UnicodeDeserializingMode()

Method Detail

valueOfback to summary
public static ATNDeserializer.UnicodeDeserializingMode valueOf(String name)
valuesback to summary
public static ATNDeserializer.UnicodeDeserializingMode[] values()