public ArrayObject Add(BaseObject obj) { if (obj is IndirectObject) { obj = new IndirectReferenceObject(((IndirectObject)obj).Reference); } _objects.Add(obj); return(this); }
private bool WriteObject(IndirectReferenceObject reference) { if (reference == null) { return(false); } Write(reference.Value.Id.ToString()) .Write(" ") .Write(reference.Value.Generation.ToString()) .Write(" R"); return(true); }
public DictionaryObject Set(string key, BaseObject value) { if (value is IndirectObject) { value = new IndirectReferenceObject(((IndirectObject)value).Reference); } int index; if (_lookup.TryGetValue(key, out index)) { throw new NotImplementedException(); } _lookup.Add(key, _values.Count); _values.Add(new KeyValuePair <NameObject, BaseObject>(new NameObject(key), value)); return(this); }