Class GoTarget


  • public class GoTarget
    extends Target
    • Field Detail

      • goKeywords

        private static final java.lang.String[] goKeywords
      • goPredeclaredIdentifiers

        private static final java.lang.String[] goPredeclaredIdentifiers
      • goRuleContextInterfaceMethods

        private static final java.lang.String[] goRuleContextInterfaceMethods
      • badWords

        private final java.util.Set<java.lang.String> badWords
        Avoid grammar symbols in this set to prevent conflicts in gen'd code.
      • DO_GOFMT

        private static final boolean DO_GOFMT
    • Method Detail

      • getVersion

        public java.lang.String 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 class Target
      • getBadWords

        public java.util.Set<java.lang.String> getBadWords()
      • addBadWords

        protected void addBadWords()
      • genFile

        protected void genFile​(Grammar g,
                               org.stringtemplate.v4.ST outputFileST,
                               java.lang.String fileName)
        Overrides:
        genFile in class Target
      • gofmt

        private void gofmt​(java.io.File fileName)
      • encodeIntAsCharEscape

        public java.lang.String encodeIntAsCharEscape​(int v)
        Description copied from class: Target
        Assume 16-bit char
        Overrides:
        encodeIntAsCharEscape in class Target
      • 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 class Target
        Returns:
        the serialized ATN segment limit
        See Also:
        SerializedATN.getSegments()
      • getInlineTestSetWordSize

        public int getInlineTestSetWordSize()
        Description copied from class: Target
        How many bits should be used to do inline token type tests? Java assumes a 64-bit word for bitsets. Must be a valid wordsize for your target like 8, 16, 32, 64, etc...
        Overrides:
        getInlineTestSetWordSize in class Target
      • loadTemplates

        protected org.stringtemplate.v4.STGroup loadTemplates()
        Overrides:
        loadTemplates in class Target
      • getRecognizerFileName

        public java.lang.String getRecognizerFileName​(boolean header)
        Description copied from class: Target
        Generate TParser.java and TLexer.java from T.g4 if combined, else just use T.java as output regardless of type.
        Overrides:
        getRecognizerFileName in class Target
      • getListenerFileName

        public java.lang.String getListenerFileName​(boolean header)
        A given grammar T, return the listener name such as TListener.java, if we're using the Java target.
        Overrides:
        getListenerFileName in class Target
      • getVisitorFileName

        public java.lang.String getVisitorFileName​(boolean header)
        A given grammar T, return the visitor name such as TVisitor.java, if we're using the Java target.
        Overrides:
        getVisitorFileName in class Target
      • getBaseListenerFileName

        public java.lang.String getBaseListenerFileName​(boolean header)
        A given grammar T, return a blank listener implementation such as TBaseListener.java, if we're using the Java target.
        Overrides:
        getBaseListenerFileName in class Target
      • getBaseVisitorFileName

        public java.lang.String getBaseVisitorFileName​(boolean header)
        A given grammar T, return a blank listener implementation such as TBaseListener.java, if we're using the Java target.
        Overrides:
        getBaseVisitorFileName in class Target
      • appendUnicodeEscapedCodePoint

        protected void appendUnicodeEscapedCodePoint​(int codePoint,
                                                     java.lang.StringBuilder sb)
        Description copied from class: Target
        Escape the Unicode code point appropriately for this language and append the escaped value to sb.
        Specified by:
        appendUnicodeEscapedCodePoint in class Target