Package org.antlr.v4.codegen.target
Class DartTarget
java.lang.Object
org.antlr.v4.codegen.Target
org.antlr.v4.codegen.target.DartTarget
-
Field Summary
FieldsFields inherited from class org.antlr.v4.codegen.Target
gen, targetCharValueEscape
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected void
appendUnicodeEscapedCodePoint
(int codePoint, StringBuilder sb) Escape the Unicode code point appropriately for this language and append the escaped value tosb
.encodeIntAsCharEscape
(int v) Assume 16-bit charint
Gets the maximum number of 16-bit unsigned integers that can be encoded in a single segment of the serialized ATN.getTargetStringLiteralFromANTLRStringLiteral
(CodeGenerator generator, String literal, boolean addQuotes) Convert from an ANTLR string literal found in a grammar file to an equivalent string literal in the target language.ANTLR tool should check output templates / target are compatible with tool code generation.protected org.stringtemplate.v4.STGroup
protected boolean
Methods inherited from class org.antlr.v4.codegen.Target
genFile, getAltLabelContextStructName, getBaseListenerFileName, getBaseVisitorFileName, getCodeGenerator, getElementListName, getElementName, getImplicitRuleLabel, getImplicitSetLabel, getImplicitTokenLabel, getInlineTestSetWordSize, getLanguage, getListenerFileName, getListLabel, getLoopCounter, getLoopLabel, getRecognizerFileName, getRuleFunctionContextStructName, getRuleFunctionContextStructName, getTargetStringLiteralFromString, getTargetStringLiteralFromString, getTemplates, getTokenTypeAsTargetLabel, getTokenTypesAsTargetLabels, getVisitorFileName, grammarSymbolCausesIssueInGeneratedCode, needsHeader, shouldUseUnicodeEscapeForCodePointInDoubleQuotedString, supportsOverloadedMethods, templatesExist, wantsBaseListener, wantsBaseVisitor
-
Field Details
-
javaKeywords
-
badWords
-
-
Constructor Details
-
DartTarget
-
-
Method Details
-
getTargetStringLiteralFromANTLRStringLiteral
public String getTargetStringLiteralFromANTLRStringLiteral(CodeGenerator generator, String literal, boolean addQuotes) Description copied from class:Target
Convert from an ANTLR string literal found in a grammar file to an equivalent string literal in the target language.
For Java, this is the translation
'a\n"'
→"a\n\""
. Expect single quotes around the incoming literal. Just flip the quotes and replace double quotes with\"
.Note that we have decided to allow people to use '\"' without penalty, so we must build the target string in a loop as
String.replace(char, char)
cannot handle both\"
and"
without a lot of messing around.- Overrides:
getTargetStringLiteralFromANTLRStringLiteral
in classTarget
-
getVersion
Description copied from class:Target
ANTLR tool should check output templates / target are compatible with tool code generation. For now, a simple string match used on x.y of x.y.z scheme. We use a method to avoid mismatches between a template called VERSION. This value is checked against Tool.VERSION during load of templates. This additional method forces all targets 4.3 and beyond to add this method.- Specified by:
getVersion
in classTarget
-
getBadWords
-
addBadWords
protected void addBadWords() -
getSerializedATNSegmentLimit
public int getSerializedATNSegmentLimit()Description copied from class:Target
Gets the maximum number of 16-bit unsigned integers that can be encoded in a single segment of the serialized ATN.- Overrides:
getSerializedATNSegmentLimit
in classTarget
- Returns:
- the serialized ATN segment limit
- See Also:
-
visibleGrammarSymbolCausesIssueInGeneratedCode
- Specified by:
visibleGrammarSymbolCausesIssueInGeneratedCode
in classTarget
-
loadTemplates
protected org.stringtemplate.v4.STGroup loadTemplates()- Overrides:
loadTemplates
in classTarget
-
encodeIntAsCharEscape
Description copied from class:Target
Assume 16-bit char- Overrides:
encodeIntAsCharEscape
in classTarget
-
appendUnicodeEscapedCodePoint
Description copied from class:Target
Escape the Unicode code point appropriately for this language and append the escaped value tosb
.- Specified by:
appendUnicodeEscapedCodePoint
in classTarget
-