final public StringBuilder dumpTypeAll ()
    {
        StringBuilder s = new StringBuilder();
        Iterator<String> i = getContext().getPackNames();
        while (i.hasNext())
        {
            InvarPackage pack = getContext().getPack(i.next());
            Iterator<String> iTypeName = pack.getTypeNames();
            while (iTypeName.hasNext())
            {
                String typeName = iTypeName.next();
                InvarType type = pack.getType(typeName);
                s.append(TypeID.DIALECT == type.getId() ? "  # " : "    ");//4
                s.append(fixedLen(32, pack.getName() + ruleTypeSplit + typeName));//32

                if (type.getRedirect() != null)
                {
                    InvarType typeR = type.getRedirect();
                    s.append(" --->   ");//8
                    String nameR = typeR.getName() + typeR.getGeneric();
                    String namePack = typeR.getPack().getName();
                    if (!namePack.equals(""))
                        nameR = (namePack + ruleTypeSplit) + nameR;
                    s.append(fixedLen(32, nameR));
                    s.append(fixedLen(32, typeR.getCodePath()));
                    s.append(whiteSpace + typeR.getInitValue());
                    //s.append(whiteSpace + type.getInitValue());
                }
                s.append("\n");
            }
            for (int j = 0; j < 6; j++)
            {
                s.append(fixedLen("-", 19));
                s.append("+");
            }
            s.append("\n");
        }
        return s;
    }