public void populateTypeTable(AstSymbolTable stable)
        {
            int i;
            String className = "";
            boolean added = false;

            m_stable = new AstSymbolTable(stable);
            if (m_className != null)
                {
                className = m_className.getName();
                }
            m_stable.m_name = className;
            stable.addKid(m_stable);

            if (m_formalParameters != null)
                {
                m_formalParameters.populateTypeTable(m_stable);
                }

            AstType type = new AstType(AstType.TYPE_SET);
            type.m_setType = new AstType(AstType.TYPE_CLASS);
            type.m_setType.m_name = className;
            type.m_setType.m_classMembers = m_stable;
            if (m_formalParameters != null)
                {
                type.m_setType.m_numClassFormalParamList = m_formalParameters.getNumParameters();
                }
            added = stable.addType(className, type);
            if (!added)
                {
                m_className.reportTypeError(className + " is already added as a class",
                                            m_className.m_token,
                                            this.classDef,
                                            "name"
                                            );
                }

            for (i = 0; i < m_inheritedClasses.size(); i++)
                {
                AstInheritedClass ic = ((AstInheritedClass) m_inheritedClasses.get(i));
                ic.populateTypeTable(m_stable);
                }

            for (i = 0; i < m_localDefinitions.size(); i++)
                {
                ((AstBase) m_localDefinitions.get(i)).populateTypeTable(m_stable);
                }

            if (m_state != null)
                {
                m_state.populateTypeTable(m_stable);
                }
            if (m_initialState != null)
                {
                m_initialState.populateTypeTable(m_stable);
                }

            for (i = 0; i < m_operations.size(); i++)
                {
                ((AstBase) m_operations.get(i)).populateTypeTable(m_stable);
                }
        }