Ejemplo n.º 1
0
        public void ReadConstants()
        {
            _integers.Capacity = _reader.Read7BitEncodedInt();
            if (_integers.Capacity > 0)
            {
                _integers.Add(0);
                for (int i = 1; i < _integers.Capacity; i++)
                {
                    _integers.Add(_reader.Read7BitEncodedInt());
                }
            }

            _uintegers.Capacity = _reader.Read7BitEncodedInt();
            if (_uintegers.Capacity > 0)
            {
                _uintegers.Add(0);
                for (int i = 1; i < _uintegers.Capacity; i++)
                {
                    _uintegers.Add((uint)_reader.Read7BitEncodedInt());
                }
            }

            _doubles.Capacity = _reader.Read7BitEncodedInt();
            if (_doubles.Capacity > 0)
            {
                _doubles.Add(double.NaN);
                for (int i = 1; i < _doubles.Capacity; i++)
                {
                    _doubles.Add(_reader.ReadDouble());
                }
            }

            _strings.Capacity = _reader.Read7BitEncodedInt();
            if (_strings.Capacity > 0)
            {
                _strings.Add(string.Empty);
                for (int i = 1; i < _strings.Capacity; i++)
                {
                    _strings.Add(_reader.ReadString());
                }
            }

            _namespaces.Capacity = _reader.Read7BitEncodedInt();
            if (_namespaces.Capacity > 0)
            {
                _namespaces.Add(null);
                for (int i = 1; i < _namespaces.Capacity; i++)
                {
                    _namespaces.Add(new ASNamespace(ABC, _reader));
                }
            }

            _namespaceSets.Capacity = _reader.Read7BitEncodedInt();
            if (_namespaceSets.Capacity > 0)
            {
                _namespaceSets.Add(null);
                for (int i = 1; i < _namespaceSets.Capacity; i++)
                {
                    _namespaceSets.Add(new ASNamespaceSet(ABC, _reader));
                }
            }

            _multinames.Capacity = _reader.Read7BitEncodedInt();
            if (_multinames.Capacity > 0)
            {
                _multinames.Add(null);
                for (int i = 1; i < _multinames.Capacity; i++)
                {
                    _multinames.Add(new ASMultiname(ABC, _reader));
                }
            }
        }