new binary IO interfaces for 0.10.x 

'had some fun with git rebase.
ready for code review and merge.
That comment was already there. I did not add it.

On 10/29/2014 12:44 PM, Philipp Haller wrote:
>
> In core/src/main/scala/pickling/binary/BinaryPickle.scala:
>
> > +    } else if (hints.oid != -1) {
> > +      output.putByte( REF_TAG)
> > +      output.putInt( hints.oid)
> > +    } else {
> > +      if (!hints.isElidedType) {
> > +        // quickly decide whether we should use picklee.getClass instead
> > +        val ts =
> > +          if (hints.tag.key.contains("anonfun$")) picklee.getClass.getName
> > +          else hints.tag.key
> > +        output.putString( ts)
> > +      }
> > +
> > +      // NOTE: it looks like we don't have to write object ids at all
> > +      // traversals employed by pickling and unpickling are exactly the same
> > +      // hence when unpickling it's enough to just increment the nextUnpicklee counter
> > +      // and everything will work out automatically!
>
> Not sure what you mean exactly. To support sub typing I think we'll 
> still need object IDs. But maybe you mean something else?
>
> —
> Reply to this email directly or view it on GitHub 
> <https://github.com/scala/pickling/pull/215/files#r19552093>.
>