Class DartTarget


  • public class DartTarget
    extends Target
    • Field Detail

      • targetCharValueEscape

        protected static final Map<Character,​String> targetCharValueEscape
      • reservedWords

        protected static final HashSet<String> reservedWords
    • Method Detail

      • getTargetCharValueEscape

        public Map<Character,​String> getTargetCharValueEscape()
        Description copied from class: Target
        For pure strings of Unicode char, how can we display it in the target language as a literal. Useful for dumping predicates and such that may refer to chars that need to be escaped when represented as strings. Also, templates need to be escaped so that the target language can hold them as a string. Each target can have a different set in memory at same time.
        Overrides:
        getTargetCharValueEscape in class Target
      • getTargetStringLiteralFromANTLRStringLiteral

        public String getTargetStringLiteralFromANTLRStringLiteral​(CodeGenerator generator,
                                                                   String literal,
                                                                   boolean addQuotes,
                                                                   boolean escapeSpecial)
        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 class Target