/** * Starts the deserialization process for a BLOB. */ private void touchBlob() { final int length = readInt(); _tempType = ATerm.BLOB; _tempBytes = new byte[length]; _tempBytesIndex = 0; readData(); }
/** * Deserialializes an int. */ private void touchInt() { final int value = readInt(); final ATermConstruct ac = _stack[_stackPosition]; final ATerm term = _factory.makeInt(value); _sharedTerms[ac.termIndex] = term; linkTerm(term); }
/** * Deserialializes a list. */ private void touchList() { final int size = readInt(); final ATermConstruct ac = _stack[_stackPosition]; ac.subTerms = new ATerm[size]; if (size == 0) { final ATerm term = _factory.makeList(); _sharedTerms[ac.termIndex] = term; linkTerm(term); } }
final int index = readInt(); final ATerm term = _sharedTerms[index]; _stackPosition++;