Class UnionGen

    • Field Detail

      • symbolTable

        protected java.util.Hashtable symbolTable
      • stream

        protected java.io.PrintWriter stream
      • unionIsEnum

        protected boolean unionIsEnum
      • typePackage

        protected java.lang.String typePackage
    • Constructor Detail

      • UnionGen

        public UnionGen()
        Public zero-argument constructor.
    • Method Detail

      • generate

        public void generate​(java.util.Hashtable symbolTable,
                             UnionEntry u,
                             java.io.PrintWriter s)
        Specified by:
        generate in interface UnionGen
      • init

        protected void init()
        Initialize members unique to this generator.
      • openStream

        protected void openStream()
      • generateHelper

        protected void generateHelper()
      • generateHolder

        protected void generateHolder()
      • writeHeading

        protected void writeHeading()
      • writeBody

        protected void writeBody()
      • writeClosing

        protected void writeClosing()
      • closeStream

        protected void closeStream()
      • generateContainedTypes

        protected void generateContainedTypes()
      • writeVerifyDefault

        private void writeVerifyDefault()
      • defaultDiscriminator

        private java.lang.String defaultDiscriminator​(UnionEntry u)
      • vectorizeLabels

        private java.util.Vector vectorizeLabels​(java.util.Vector branchVector,
                                                 boolean useIntsForEnums)
      • safeName

        private java.lang.String safeName​(UnionEntry u,
                                          java.lang.String name)
      • coversAll

        private boolean coversAll​(UnionEntry u)
      • writeBranchMethods

        private void writeBranchMethods​(java.io.PrintWriter stream,
                                        UnionEntry u,
                                        UnionBranch branch,
                                        int i)
      • unionLabelSize

        private int unionLabelSize​(UnionEntry un)
      • helperType

        public int helperType​(int index,
                              java.lang.String indent,
                              TCOffsets tcoffsets,
                              java.lang.String name,
                              SymtabEntry entry,
                              java.io.PrintWriter stream)
        Specified by:
        helperType in interface JavaGenerator
      • type

        public int type​(int index,
                        java.lang.String indent,
                        TCOffsets tcoffsets,
                        java.lang.String name,
                        SymtabEntry entry,
                        java.io.PrintWriter stream)
        Specified by:
        type in interface JavaGenerator
      • helperRead

        public void helperRead​(java.lang.String entryName,
                               SymtabEntry entry,
                               java.io.PrintWriter stream)
        Specified by:
        helperRead in interface JavaGenerator
      • read

        public int read​(int index,
                        java.lang.String indent,
                        java.lang.String name,
                        SymtabEntry entry,
                        java.io.PrintWriter stream)
        Specified by:
        read in interface JavaGenerator
      • readBoolean

        private int readBoolean​(java.lang.String disName,
                                int index,
                                java.lang.String indent,
                                java.lang.String name,
                                UnionEntry u,
                                java.io.PrintWriter stream)
      • readNonBoolean

        private int readNonBoolean​(java.lang.String disName,
                                   int index,
                                   java.lang.String indent,
                                   java.lang.String name,
                                   UnionEntry u,
                                   java.io.PrintWriter stream)
      • readBranch

        private int readBranch​(int index,
                               java.lang.String indent,
                               java.lang.String name,
                               java.lang.String disName,
                               TypedefEntry entry,
                               java.io.PrintWriter stream)
      • write

        public int write​(int index,
                         java.lang.String indent,
                         java.lang.String name,
                         SymtabEntry entry,
                         java.io.PrintWriter stream)
        Specified by:
        write in interface JavaGenerator
      • writeBoolean

        private int writeBoolean​(java.lang.String disName,
                                 int index,
                                 java.lang.String indent,
                                 java.lang.String name,
                                 UnionEntry u,
                                 java.io.PrintWriter stream)
      • writeNonBoolean

        private int writeNonBoolean​(java.lang.String disName,
                                    int index,
                                    java.lang.String indent,
                                    java.lang.String name,
                                    UnionEntry u,
                                    java.io.PrintWriter stream)
      • writeBranch

        private int writeBranch​(int index,
                                java.lang.String indent,
                                java.lang.String name,
                                TypedefEntry entry,
                                java.io.PrintWriter stream)