Class CppCodeBuilder

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    class CppCodeBuilder
    extends org.javacc.utils.CodeBuilder<CppCodeBuilder>
    The CppCodeBuilder class.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private static class  CppCodeBuilder.Buffer  
      • Nested classes/interfaces inherited from class org.javacc.utils.CodeBuilder

        org.javacc.utils.CodeBuilder.GenericCodeBuilder
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private CppCodeBuilder​(org.javacc.parser.Context context, org.javacc.parser.CodeGeneratorSettings options, boolean headeOnly)
      Constructs an instance of CodeBuilder.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void build()  
      java.lang.String escapeToUnicode​(java.lang.String text)  
      private void fixupLongLiterals​(java.lang.StringBuffer sb)  
      (package private) void genClassStart​(java.lang.String mod, java.lang.String name, java.lang.String[] superClasses, java.lang.String[] superInterfaces)
      Generate a class with a given name, an array of superclass and another array of super interfaes
      private void genCommaSeperatedString​(java.lang.String[] strings)  
      (package private) void generateMethodDefHeader​(java.lang.String modsAndRetType, java.lang.String className, java.lang.String nameAndParams)  
      (package private) void generateMethodDefHeader​(java.lang.String qualifiedModsAndRetType, java.lang.String className, java.lang.String nameAndParams, java.lang.String exceptions)  
      protected java.lang.StringBuffer getBuffer()
      Get the StringBuffer
      private static boolean isHexDigit​(char c)
      Return true if the char is a hex digit.
      (package private) static CppCodeBuilder of​(org.javacc.parser.Context context, org.javacc.parser.CodeGeneratorSettings options)
      Constructs an instance of CppCodeBuilder.
      (package private) static CppCodeBuilder ofHeader​(org.javacc.parser.Context context, org.javacc.parser.CodeGeneratorSettings options)
      Constructs an instance of CppCodeBuilder.
      (package private) CppCodeBuilder printCharArray​(java.lang.String s)  
      void printLiteralArray​(java.lang.String varName, java.lang.String[] arr)  
      (package private) void switchToIncludeFile()  
      (package private) void switchToMainFile()  
      (package private) void switchToStaticsFile()  
      • Methods inherited from class org.javacc.utils.CodeBuilder

        addOption, addTools, close, getFile, getLeadingComments, getTrailingComments, print, printLeadingComments, println, printTemplate, printTemplate, printToken, printTokenList, printTokenOnly, printTokenSetup, printTrailingComments, setFile, setVersion, store, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • headeOnly

        private final boolean headeOnly
      • mainBuffer

        private final java.lang.StringBuffer mainBuffer
      • includeBuffer

        private final java.lang.StringBuffer includeBuffer
      • staticsBuffer

        private final java.lang.StringBuffer staticsBuffer
    • Constructor Detail

      • CppCodeBuilder

        private CppCodeBuilder​(org.javacc.parser.Context context,
                               org.javacc.parser.CodeGeneratorSettings options,
                               boolean headeOnly)
        Constructs an instance of CodeBuilder.
        Parameters:
        options -
    • Method Detail

      • getBuffer

        protected final java.lang.StringBuffer getBuffer()
        Get the StringBuffer
        Specified by:
        getBuffer in class org.javacc.utils.CodeBuilder<CppCodeBuilder>
      • genClassStart

        void genClassStart​(java.lang.String mod,
                           java.lang.String name,
                           java.lang.String[] superClasses,
                           java.lang.String[] superInterfaces)
        Generate a class with a given name, an array of superclass and another array of super interfaes
      • build

        protected final void build()
        Overrides:
        build in class org.javacc.utils.CodeBuilder<CppCodeBuilder>
      • generateMethodDefHeader

        void generateMethodDefHeader​(java.lang.String modsAndRetType,
                                     java.lang.String className,
                                     java.lang.String nameAndParams)
      • generateMethodDefHeader

        void generateMethodDefHeader​(java.lang.String qualifiedModsAndRetType,
                                     java.lang.String className,
                                     java.lang.String nameAndParams,
                                     java.lang.String exceptions)
      • fixupLongLiterals

        private void fixupLongLiterals​(java.lang.StringBuffer sb)
      • isHexDigit

        private static boolean isHexDigit​(char c)
        Return true if the char is a hex digit.
        Parameters:
        c -
      • genCommaSeperatedString

        private final void genCommaSeperatedString​(java.lang.String[] strings)
      • printCharArray

        final CppCodeBuilder printCharArray​(java.lang.String s)
      • printLiteralArray

        public void printLiteralArray​(java.lang.String varName,
                                      java.lang.String[] arr)
      • escapeToUnicode

        public final java.lang.String escapeToUnicode​(java.lang.String text)
        Overrides:
        escapeToUnicode in class org.javacc.utils.CodeBuilder<CppCodeBuilder>
      • switchToMainFile

        void switchToMainFile()
      • switchToIncludeFile

        void switchToIncludeFile()
      • switchToStaticsFile

        void switchToStaticsFile()
      • of

        static CppCodeBuilder of​(org.javacc.parser.Context context,
                                 org.javacc.parser.CodeGeneratorSettings options)
        Constructs an instance of CppCodeBuilder.
        Parameters:
        options -
      • ofHeader

        static CppCodeBuilder ofHeader​(org.javacc.parser.Context context,
                                       org.javacc.parser.CodeGeneratorSettings options)
        Constructs an instance of CppCodeBuilder.
        Parameters:
        options -