Object/Trait

scala.spores

SporePicklers

Related Docs: trait SporePicklers | package spores

Permalink

object SporePicklers extends SporePicklers with SporeRuntimePicklers with GeneratorRegistry

Linear Supertypes
GeneratorRegistry, SporeRuntimePicklers, GeneratorHelper, SporePicklers, SimpleSporePicklers, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SporePicklers
  2. GeneratorRegistry
  3. SporeRuntimePicklers
  4. GeneratorHelper
  5. SporePicklers
  6. SimpleSporePicklers
  7. AnyRef
  8. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. type FastTypeTagSpecializer[T] = (FastTypeTag[_]) ⇒ FastTypeTag[T]

    Permalink
    Definition Classes
    GeneratorHelper
  2. type FullP[T, R] = Pickler[Spore[T, R]]

    Permalink
  3. type FullP2[T1, T2, R] = Pickler[Spore2[T1, T2, R]]

    Permalink
  4. type FullP3[T1, T2, T3, R] = Pickler[Spore3[T1, T2, T3, R]]

    Permalink
  5. type FullPC[T, R, C] = Pickler[Spore[T, R] { type Captured = C }]

    Permalink
  6. type FullPC2[T1, T2, R, C] = Pickler[Spore2[T1, T2, R] { type Captured = C }]

    Permalink
  7. type FullPC3[T1, T2, T3, R, C] = Pickler[Spore3[T1, T2, T3, R] { type Captured = C }]

    Permalink
  8. type FullPE[T, R, C] = Pickler[SporeWithEnv[T, R] { type Captured = C }]

    Permalink
  9. type FullPE2[T1, T2, R, C] = Pickler[Spore2WithEnv[T1, T2, R] { type Captured = C }]

    Permalink
  10. type FullPE3[T1, T2, T3, R, C] = Pickler[Spore3WithEnv[T1, T2, T3, R] { type Captured = C }]

    Permalink
  11. type FullPUE[T, R, C] = FullPE[T, R, C] with FullUE[T, R, C]

    Permalink
  12. type FullPUE2[T1, T2, R, C] = FullPE2[T1, T2, R, C] with FullUE2[T1, T2, R, C]

    Permalink
  13. type FullPUE3[T1, T2, T3, R, C] = FullPE3[T1, T2, T3, R, C] with FullUE3[T1, T2, T3, R, C]

    Permalink
  14. type FullU[T, R] = Unpickler[Spore[T, R]]

    Permalink
  15. type FullU2[T1, T2, R] = Unpickler[Spore2[T1, T2, R]]

    Permalink
  16. type FullU3[T1, T2, T3, R] = Unpickler[Spore3[T1, T2, T3, R]]

    Permalink
  17. type FullUC[T, R, C] = Unpickler[Spore[T, R] { type Captured = C }]

    Permalink
  18. type FullUC2[T1, T2, R, C] = Unpickler[Spore2[T1, T2, R] { type Captured = C }]

    Permalink
  19. type FullUC3[T1, T2, T3, R, C] = Unpickler[Spore3[T1, T2, T3, R] { type Captured = C }]

    Permalink
  20. type FullUE[T, R, C] = Unpickler[SporeWithEnv[T, R] { type Captured = C }]

    Permalink
  21. type FullUE2[T1, T2, R, C] = Unpickler[Spore2WithEnv[T1, T2, R] { type Captured = C }]

    Permalink
  22. type FullUE3[T1, T2, T3, R, C] = Unpickler[Spore3WithEnv[T1, T2, T3, R] { type Captured = C }]

    Permalink
  23. type GenPicklerSignature[PU[_]] = (ClassLoader, Class[_], FastTypeTag[_]) ⇒ PU[_]

    Permalink
    Definition Classes
    GeneratorHelper

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object SporeRuntimePicklerUnpickler extends AbstractPicklerUnpickler[Spore[Any, Any]]

    Permalink
    Definition Classes
    SporeRuntimePicklers
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. implicit macro def genSimpleSpore2Pickler[T1, T2, R]: FullP2[T1, T2, R]

    Permalink
  11. def genSimpleSpore2PicklerImpl[T1, T2, R](c: Context)(implicit arg0: reflect.macros.blackbox.Context.WeakTypeTag[T1], arg1: reflect.macros.blackbox.Context.WeakTypeTag[T2], arg2: reflect.macros.blackbox.Context.WeakTypeTag[R]): reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SimpleSporePicklers
  12. implicit macro def genSimpleSpore3Pickler[T1, T2, T3, R]: FullP3[T1, T2, T3, R]

    Permalink
  13. def genSimpleSpore3PicklerImpl[T1, T2, T3, R](c: Context)(implicit arg0: reflect.macros.blackbox.Context.WeakTypeTag[T1], arg1: reflect.macros.blackbox.Context.WeakTypeTag[T2], arg2: reflect.macros.blackbox.Context.WeakTypeTag[T3], arg3: reflect.macros.blackbox.Context.WeakTypeTag[R]): reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SimpleSporePicklers
  14. implicit macro def genSimpleSporePickler[T, R]: FullP[T, R]

    Permalink
  15. def genSimpleSporePicklerImpl[T, R](c: Context)(implicit arg0: reflect.macros.blackbox.Context.WeakTypeTag[T], arg1: reflect.macros.blackbox.Context.WeakTypeTag[R]): reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SimpleSporePicklers
  16. def genSimpleSporePicklerUnpicklerTemplate(c: Context)(seedPicklerName: String, sporeType: reflect.macros.blackbox.Context.Tree): reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SimpleSporePicklers
  17. implicit macro def genSpore2CapturedUnpickler[T1, T2, R, C]: FullUC2[T1, T2, R, C]

    Permalink
  18. def genSpore2CapturedUnpicklerImpl[T1, T2, R, U](c: Context)(implicit arg0: reflect.macros.blackbox.Context.WeakTypeTag[T1], arg1: reflect.macros.blackbox.Context.WeakTypeTag[T2], arg2: reflect.macros.blackbox.Context.WeakTypeTag[R], arg3: reflect.macros.blackbox.Context.WeakTypeTag[U]): reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SporePicklers
  19. implicit macro def genSpore2PicklerUnpickler[T1, T2, R, U]: FullPC2[T1, T2, R, U]

    Permalink
  20. def genSpore2PicklerUnpicklerImpl[T1, T2, R, U](c: Context)(implicit arg0: reflect.macros.blackbox.Context.WeakTypeTag[T1], arg1: reflect.macros.blackbox.Context.WeakTypeTag[T2], arg2: reflect.macros.blackbox.Context.WeakTypeTag[R], arg3: reflect.macros.blackbox.Context.WeakTypeTag[U]): reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SporePicklers
  21. implicit macro def genSpore2PicklerUnpicklerWithEnv[T1, T2, R, U]: FullPUE2[T1, T2, R, U]

    Permalink
  22. implicit macro def genSpore2Unpickler[T1, T2, R]: FullU2[T1, T2, R]

    Permalink
  23. def genSpore2UnpicklerImpl[T1, T2, R](c: Context)(implicit arg0: reflect.macros.blackbox.Context.WeakTypeTag[T1], arg1: reflect.macros.blackbox.Context.WeakTypeTag[T2], arg2: reflect.macros.blackbox.Context.WeakTypeTag[R]): reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SporePicklers
  24. def genSpore2WithEnvPicklerUnpicklerImpl[T1, T2, R, U](c: Context)(implicit arg0: reflect.macros.blackbox.Context.WeakTypeTag[T1], arg1: reflect.macros.blackbox.Context.WeakTypeTag[T2], arg2: reflect.macros.blackbox.Context.WeakTypeTag[R], arg3: reflect.macros.blackbox.Context.WeakTypeTag[U]): reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SporePicklers
  25. implicit macro def genSpore3CapturedUnpickler[T1, T2, T3, R, C]: FullUC3[T1, T2, T3, R, C]

    Permalink
  26. def genSpore3CapturedUnpicklerImpl[T1, T2, T3, R, U](c: Context)(implicit arg0: reflect.macros.blackbox.Context.WeakTypeTag[T1], arg1: reflect.macros.blackbox.Context.WeakTypeTag[T2], arg2: reflect.macros.blackbox.Context.WeakTypeTag[T3], arg3: reflect.macros.blackbox.Context.WeakTypeTag[R], arg4: reflect.macros.blackbox.Context.WeakTypeTag[U]): reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SporePicklers
  27. implicit macro def genSpore3PicklerUnpickler[T1, T2, T3, R, U]: FullPC3[T1, T2, T3, R, U]

    Permalink
  28. def genSpore3PicklerUnpicklerImpl[T1, T2, T3, R, U](c: Context)(implicit arg0: reflect.macros.blackbox.Context.WeakTypeTag[T1], arg1: reflect.macros.blackbox.Context.WeakTypeTag[T2], arg2: reflect.macros.blackbox.Context.WeakTypeTag[T3], arg3: reflect.macros.blackbox.Context.WeakTypeTag[R], arg4: reflect.macros.blackbox.Context.WeakTypeTag[U]): reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SporePicklers
  29. implicit macro def genSpore3PicklerUnpicklerWithEnv[T1, T2, T3, R, U]: FullPUE3[T1, T2, T3, R, U]

    Permalink
  30. implicit macro def genSpore3Unpickler[T1, T2, T3, R]: FullU3[T1, T2, T3, R]

    Permalink
  31. def genSpore3UnpicklerImpl[T1, T2, T3, R](c: Context)(implicit arg0: reflect.macros.blackbox.Context.WeakTypeTag[T1], arg1: reflect.macros.blackbox.Context.WeakTypeTag[T2], arg2: reflect.macros.blackbox.Context.WeakTypeTag[T3], arg3: reflect.macros.blackbox.Context.WeakTypeTag[R]): reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SporePicklers
  32. def genSpore3WithEnvPicklerUnpicklerImpl[T1, T2, T3, R, U](c: Context)(implicit arg0: reflect.macros.blackbox.Context.WeakTypeTag[T1], arg1: reflect.macros.blackbox.Context.WeakTypeTag[T2], arg2: reflect.macros.blackbox.Context.WeakTypeTag[T3], arg3: reflect.macros.blackbox.Context.WeakTypeTag[R], arg4: reflect.macros.blackbox.Context.WeakTypeTag[U]): reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SporePicklers
  33. implicit macro def genSporeCapturedUnpickler[T, R, C]: FullUC[T, R, C]

    Permalink
  34. def genSporeCapturedUnpicklerImpl[T, R, U](c: Context)(implicit arg0: reflect.macros.blackbox.Context.WeakTypeTag[T], arg1: reflect.macros.blackbox.Context.WeakTypeTag[R], arg2: reflect.macros.blackbox.Context.WeakTypeTag[U]): reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SporePicklers
  35. implicit macro def genSporePicklerUnpickler[T, R, U]: FullPC[T, R, U]

    Permalink

    ******************************* Picklers ********************************

  36. def genSporePicklerUnpicklerImpl[T, R, U](c: Context)(implicit arg0: reflect.macros.blackbox.Context.WeakTypeTag[T], arg1: reflect.macros.blackbox.Context.WeakTypeTag[R], arg2: reflect.macros.blackbox.Context.WeakTypeTag[U]): reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SporePicklers
  37. def genSporePicklerUnpicklerTemplate[U](c: Context)(sporeType: reflect.macros.blackbox.Context.Tree, sporeSubType: reflect.macros.blackbox.Context.Tree)(implicit arg0: reflect.macros.blackbox.Context.WeakTypeTag[U]): reflect.macros.blackbox.Context.Tree

    Permalink

    Generates both Picklers and Unpicklers for Spores and SporeWithEnvs.

    Generates both Picklers and Unpicklers for Spores and SporeWithEnvs.

    The Picklers will be used by default and the Unpicklers will be invoked by the UnpicklerFetcher defined below. Fortunately, we don't have to keep type information of Captured in the pickled message since we already know which is the correct tag when unpickle is invoked (this is kind of a hack).

    Definition Classes
    SporePicklers
  38. implicit macro def genSporePicklerUnpicklerWithEnv[T, R, U]: FullPUE[T, R, U]

    Permalink
  39. implicit macro def genSporeUnpickler[T, R]: FullU[T, R]

    Permalink

    ****************************** Unpicklers *******************************

  40. def genSporeUnpicklerFetcherTemplate(c: Context)(sporeType: reflect.macros.blackbox.Context.Tree): reflect.macros.blackbox.Context.Tree

    Permalink

    Generates an Unpickler that will be able to get the classname of another Unpickler and successfully instantiate it and delegate its responsability.

    Generates an Unpickler that will be able to get the classname of another Unpickler and successfully instantiate it and delegate its responsability.

    This is used to call Unpicklers that are generated at the same time as the Picklers but that cannot be run when unpickling because we don't have enough information, e.g. the user does not specify that a Spore is indeed SporeWithEnv. Also, it's not allowed to include the type refinements of Captured in the type annotation of the method unpickle, so that prevents them from being selected in the implicit search.

    Definition Classes
    SporePicklers
  41. def genSporeUnpicklerImpl[T, R](c: Context)(implicit arg0: reflect.macros.blackbox.Context.WeakTypeTag[T], arg1: reflect.macros.blackbox.Context.WeakTypeTag[R]): reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SporePicklers
  42. def genSporeWithEnvPicklerUnpicklerImpl[T, R, U](c: Context)(implicit arg0: reflect.macros.blackbox.Context.WeakTypeTag[T], arg1: reflect.macros.blackbox.Context.WeakTypeTag[R], arg2: reflect.macros.blackbox.Context.WeakTypeTag[U]): reflect.macros.blackbox.Context.Tree

    Permalink
    Definition Classes
    SporePicklers
  43. def generateHelper[T](elementTagExtractor: FastTypeTagSpecializer[T])(tpe: FastTypeTag[_]): (Pickler[T], Unpickler[T])

    Permalink
    Definition Classes
    GeneratorHelper
  44. def get[PU[_], S](query: (String) ⇒ Option[PU[_]], key: String, error: ⇒ Throwable): PU[S]

    Permalink
    Definition Classes
    GeneratorHelper
  45. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  46. def getPickler[T, S](tpe: FastTypeTag[T], fullTpe: FastTypeTag[S]): Pickler[T]

    Permalink
    Definition Classes
    GeneratorHelper
  47. def getUnpickler[T, S](tpe: FastTypeTag[T], fullTpe: FastTypeTag[S]): Unpickler[T]

    Permalink
    Definition Classes
    GeneratorHelper
  48. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  49. def isEffectivelyPrimitive(c: Context)(tpe: reflect.macros.blackbox.Context.Type): Boolean

    Permalink

    The current implementation doesn't really use this method but there can be corner cases or future bugs that could be fixed using it.

    The current implementation doesn't really use this method but there can be corner cases or future bugs that could be fixed using it. It's a good way to check if some type is primitive.

    Definition Classes
    SporePicklers
  50. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  51. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  52. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  53. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  54. def oneArgumentTagExtractor[T](tpe: FastTypeTag[_]): FastTypeTag[T]

    Permalink
    Definition Classes
    GeneratorHelper
  55. def registerGen[T](tag: String, gen: PicklerUnpicklerGen[T]): Unit

    Permalink
    Definition Classes
    GeneratorRegistry
  56. def registerPicklerAsGen[T](pu: Pickler[T] with Unpickler[T]): Unit

    Permalink
    Definition Classes
    GeneratorRegistry
  57. def registerRuntimePickler(): Unit

    Permalink

    ******************** Runtime picklers and unpicklers ********************

  58. def specialize[T](tag: FastTypeTag[_]): FastTypeTag[T]

    Permalink
    Definition Classes
    GeneratorHelper
  59. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  60. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  61. def twoArgumentTagExtractor[T, S](tpe: FastTypeTag[_]): (FastTypeTag[T], FastTypeTag[S])

    Permalink
    Definition Classes
    GeneratorHelper
  62. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  63. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  64. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from GeneratorRegistry

Inherited from SporeRuntimePicklers

Inherited from GeneratorHelper

Inherited from SporePicklers

Inherited from SimpleSporePicklers

Inherited from AnyRef

Inherited from Any

Ungrouped