scala.quasiquotes.QuasiquoteCompat.scala Maven / Gradle / Ivy
package scala.quasiquotes
import scala.reflect.api._
import scala.reflect.internal.SymbolTable
import scala.reflect.ClassTag
object QuasiquoteCompat { def apply[U <: Universe with Singleton](u0: U): QuasiquoteCompat[u0.type] = new { val u: u0.type = u0 } with QuasiquoteCompat[u0.type] }
trait QuasiquoteCompat[U <: Universe with Singleton] {
val u: U
lazy val reificationSupport: build.type = build
lazy val build: ReificationSupportApi = new ReificationSupportImpl
// NOTE: this trait is copy/pasted from scala/scala@bcf24ec9ba
// however the `CompatSupportApi with StandardLiftableApi with StandardUnliftableApi` part is custom to paradise 2.10.x
trait ReificationSupportApi extends CompatSupportApi with StandardLiftableApi with StandardUnliftableApi {
/** Selects type symbol with given simple name `name` from the defined members of `owner`.
*/
def selectType(owner: U#Symbol, name: String): U#TypeSymbol
/** Selects term symbol with given name and type from the defined members of prefix type
*/
def selectTerm(owner: U#Symbol, name: String): U#TermSymbol
/** Selects overloaded method symbol with given name and index
*/
def selectOverloadedMethod(owner: U#Symbol, name: String, index: Int): U#MethodSymbol
/** A fresh symbol with given name `name`, position `pos` and flags `flags` that has
* the current symbol as its owner.
*/
def newNestedSymbol(owner: U#Symbol, name: U#Name, pos: U#Position, flags: U#FlagSet, isClass: Boolean): U#Symbol
def newScopeWith(elems: U#Symbol*): U#Scope
/** Create a fresh free term symbol.
* @param name the name of the free variable
* @param value the value of the free variable at runtime
* @param flags (optional) flags of the free variable
* @param origin debug information that tells where this symbol comes from
*/
def newFreeTerm(name: String, value: => Any, flags: U#FlagSet = u.NoFlags, origin: String = null): U#FreeTermSymbol
/** Create a fresh free type symbol.
* @param name the name of the free variable
* @param flags (optional) flags of the free variable
* @param origin debug information that tells where this symbol comes from
*/
def newFreeType(name: String, flags: U#FlagSet = u.NoFlags, origin: String = null): U#FreeTypeSymbol
/** Set symbol's type signature to given type.
* @return the symbol itself
*/
def setInfo[S <: U#Symbol](sym: S, tpe: U#Type): S
/** Set symbol's annotations to given annotations `annots`.
*/
def setAnnotations[S <: U#Symbol](sym: S, annots: List[U#Annotation]): S
def mkThis(sym: U#Symbol): U#Tree
def mkSelect(qualifier: U#Tree, sym: U#Symbol): U#Select
def mkIdent(sym: U#Symbol): U#Ident
def mkTypeTree(tp: U#Type): U#TypeTree
def ThisType(sym: U#Symbol): U#Type
def SingleType(pre: U#Type, sym: U#Symbol): U#Type
def SuperType(thistpe: U#Type, supertpe: U#Type): U#Type
def ConstantType(value: U#Constant): U#ConstantType
def TypeRef(pre: U#Type, sym: U#Symbol, args: List[U#Type]): U#Type
def RefinedType(parents: List[U#Type], decls: U#Scope, typeSymbol: U#Symbol): U#RefinedType
def ClassInfoType(parents: List[U#Type], decls: U#Scope, typeSymbol: U#Symbol): U#ClassInfoType
def MethodType(params: List[U#Symbol], resultType: U#Type): U#MethodType
def NullaryMethodType(resultType: U#Type): U#NullaryMethodType
def PolyType(typeParams: List[U#Symbol], resultType: U#Type): U#PolyType
def ExistentialType(quantified: List[U#Symbol], underlying: U#Type): U#ExistentialType
def AnnotatedType(annotations: List[U#Annotation], underlying: U#Type, selfsym: U#Symbol): U#AnnotatedType
def TypeBounds(lo: U#Type, hi: U#Type): U#TypeBounds
def BoundedWildcardType(bounds: U#TypeBounds): U#BoundedWildcardType
def thisPrefix(sym: U#Symbol): U#Type
def setType[T <: U#Tree](tree: T, tpe: U#Type): T
def setSymbol[T <: U#Tree](tree: T, sym: U#Symbol): T
def toStats(tree: U#Tree): List[U#Tree]
def mkAnnotation(tree: U#Tree): U#Tree
def mkAnnotation(trees: List[U#Tree]): List[U#Tree]
def mkRefineStat(stat: U#Tree): U#Tree
def mkRefineStat(stats: List[U#Tree]): List[U#Tree]
def mkPackageStat(stat: U#Tree): U#Tree
def mkPackageStat(stats: List[U#Tree]): List[U#Tree]
def mkEarlyDef(defn: U#Tree): U#Tree
def mkEarlyDef(defns: List[U#Tree]): List[U#Tree]
def mkRefTree(qual: U#Tree, sym: U#Symbol): U#Tree
def freshTermName(prefix: String): U#TermName
def freshTypeName(prefix: String): U#TypeName
val ImplicitParams: ImplicitParamsExtractor
trait ImplicitParamsExtractor {
def apply(paramss: List[List[U#Tree]], implparams: List[U#Tree]): List[List[U#Tree]]
def unapply(vparamss: List[List[U#ValDef]]): Some[(List[List[U#ValDef]], List[U#ValDef])]
}
val ScalaDot: ScalaDotExtractor
trait ScalaDotExtractor {
def apply(name: U#Name): U#Tree
def unapply(tree: U#Tree): Option[U#Name]
}
val FlagsRepr: FlagsReprExtractor
trait FlagsReprExtractor {
def apply(value: Long): U#FlagSet
def unapply(flags: Long): Some[Long]
}
val SyntacticTypeApplied: SyntacticTypeAppliedExtractor
val SyntacticAppliedType: SyntacticTypeAppliedExtractor
trait SyntacticTypeAppliedExtractor {
def apply(tree: U#Tree, targs: List[U#Tree]): U#Tree
def unapply(tree: U#Tree): Option[(U#Tree, List[U#Tree])]
}
val SyntacticApplied: SyntacticAppliedExtractor
trait SyntacticAppliedExtractor {
def apply(tree: U#Tree, argss: List[List[U#Tree]]): U#Tree
def unapply(tree: U#Tree): Some[(U#Tree, List[List[U#Tree]])]
}
val SyntacticClassDef: SyntacticClassDefExtractor
trait SyntacticClassDefExtractor {
def apply(mods: U#Modifiers, name: U#TypeName, tparams: List[U#Tree],
constrMods: U#Modifiers, vparamss: List[List[U#Tree]],
earlyDefs: List[U#Tree], parents: List[U#Tree], selfType: U#Tree, body: List[U#Tree]): U#ClassDef
def unapply(tree: U#Tree): Option[(U#Modifiers, U#TypeName, List[U#TypeDef], U#Modifiers, List[List[U#ValDef]],
List[U#Tree], List[U#Tree], U#ValDef, List[U#Tree])]
}
val SyntacticTraitDef: SyntacticTraitDefExtractor
trait SyntacticTraitDefExtractor {
def apply(mods: U#Modifiers, name: U#TypeName, tparams: List[U#Tree],
earlyDefs: List[U#Tree], parents: List[U#Tree], selfType: U#Tree, body: List[U#Tree]): U#ClassDef
def unapply(tree: U#Tree): Option[(U#Modifiers, U#TypeName, List[U#TypeDef],
List[U#Tree], List[U#Tree], U#ValDef, List[U#Tree])]
}
val SyntacticObjectDef: SyntacticObjectDefExtractor
trait SyntacticObjectDefExtractor {
def apply(mods: U#Modifiers, name: U#TermName, earlyDefs: List[U#Tree],
parents: List[U#Tree], selfType: U#Tree, body: List[U#Tree]): U#ModuleDef
def unapply(tree: U#Tree): Option[(U#Modifiers, U#TermName, List[U#Tree], List[U#Tree], U#ValDef, List[U#Tree])]
}
val SyntacticPackageObjectDef: SyntacticPackageObjectDefExtractor
trait SyntacticPackageObjectDefExtractor {
def apply(name: U#TermName, earlyDefs: List[U#Tree],
parents: List[U#Tree], selfType: U#Tree, body: List[U#Tree]): U#PackageDef
def unapply(tree: U#Tree): Option[(U#TermName, List[U#Tree], List[U#Tree], U#ValDef, List[U#Tree])]
}
val SyntacticTuple: SyntacticTupleExtractor
val SyntacticTupleType: SyntacticTupleExtractor
trait SyntacticTupleExtractor {
def apply(args: List[U#Tree]): U#Tree
def unapply(tree: U#Tree): Option[List[U#Tree]]
}
val SyntacticBlock: SyntacticBlockExtractor
trait SyntacticBlockExtractor {
def apply(stats: List[U#Tree]): U#Tree
def unapply(tree: U#Tree): Option[List[U#Tree]]
}
val SyntacticNew: SyntacticNewExtractor
trait SyntacticNewExtractor {
def apply(earlyDefs: List[U#Tree], parents: List[U#Tree], selfType: U#Tree, body: List[U#Tree]): U#Tree
def unapply(tree: U#Tree): Option[(List[U#Tree], List[U#Tree], U#ValDef, List[U#Tree])]
}
val SyntacticFunctionType: SyntacticFunctionTypeExtractor
trait SyntacticFunctionTypeExtractor {
def apply(argtpes: List[U#Tree], restpe: U#Tree): U#Tree
def unapply(tree: U#Tree): Option[(List[U#Tree], U#Tree)]
}
val SyntacticFunction: SyntacticFunctionExtractor
trait SyntacticFunctionExtractor {
def apply(params: List[U#Tree], body: U#Tree): U#Function
def unapply(tree: U#Function): Option[(List[U#ValDef], U#Tree)]
}
val SyntacticDefDef: SyntacticDefDefExtractor
trait SyntacticDefDefExtractor {
def apply(mods: U#Modifiers, name: U#TermName, tparams: List[U#Tree],
vparamss: List[List[U#Tree]], tpt: U#Tree, rhs: U#Tree): U#DefDef
def unapply(tree: U#Tree): Option[(U#Modifiers, U#TermName, List[U#TypeDef], List[List[U#ValDef]], U#Tree, U#Tree)]
}
val SyntacticValDef: SyntacticValDefExtractor
val SyntacticVarDef: SyntacticValDefExtractor
trait SyntacticValDefExtractor {
def apply(mods: U#Modifiers, name: U#TermName, tpt: U#Tree, rhs: U#Tree): U#ValDef
def unapply(tree: U#Tree): Option[(U#Modifiers, U#TermName, U#Tree, U#Tree)]
}
val SyntacticPatDef: SyntacticPatDefExtractor
trait SyntacticPatDefExtractor {
def apply(mods: U#Modifiers, pat: U#Tree, tpt: U#Tree, rhs: U#Tree): List[U#ValDef]
}
val SyntacticAssign: SyntacticAssignExtractor
trait SyntacticAssignExtractor {
def apply(lhs: U#Tree, rhs: U#Tree): U#Tree
def unapply(tree: U#Tree): Option[(U#Tree, U#Tree)]
}
val SyntacticValFrom: SyntacticValFromExtractor
trait SyntacticValFromExtractor {
def apply(pat: U#Tree, rhs: U#Tree): U#Tree
def unapply(tree: U#Tree): Option[(U#Tree, U#Tree)]
}
val SyntacticValEq: SyntacticValEqExtractor
trait SyntacticValEqExtractor {
def apply(pat: U#Tree, rhs: U#Tree): U#Tree
def unapply(tree: U#Tree): Option[(U#Tree, U#Tree)]
}
val SyntacticFilter: SyntacticFilterExtractor
trait SyntacticFilterExtractor {
def apply(test: U#Tree): U#Tree
def unapply(tree: U#Tree): Option[(U#Tree)]
}
val SyntacticEmptyTypeTree: SyntacticEmptyTypeTreeExtractor
trait SyntacticEmptyTypeTreeExtractor {
def apply(): U#TypeTree
def unapply(tt: U#TypeTree): Boolean
}
val SyntacticFor: SyntacticForExtractor
val SyntacticForYield: SyntacticForExtractor
trait SyntacticForExtractor {
def apply(enums: List[U#Tree], body: U#Tree): U#Tree
def unapply(tree: U#Tree): Option[(List[U#Tree], U#Tree)]
}
// def UnliftListElementwise[T](unliftable: U#Unliftable[T]): UnliftListElementwise[T]
// trait UnliftListElementwise[T] {
// def unapply(lst: List[U#Tree]): Option[List[T]]
// }
// def UnliftListOfListsElementwise[T](unliftable: U#Unliftable[T]): UnliftListOfListsElementwise[T]
// trait UnliftListOfListsElementwise[T] {
// def unapply(lst: List[List[U#Tree]]): Option[List[List[T]]]
// }
val SyntacticPartialFunction: SyntacticPartialFunctionExtractor
trait SyntacticPartialFunctionExtractor {
def apply(cases: List[U#Tree]): U#Match
def unapply(tree: U#Tree): Option[List[U#CaseDef]]
}
val SyntacticMatch: SyntacticMatchExtractor
trait SyntacticMatchExtractor {
def apply(scrutinee: U#Tree, cases: List[U#Tree]): U#Match
def unapply(tree: U#Match): Option[(U#Tree, List[U#CaseDef])]
}
val SyntacticTry: SyntacticTryExtractor
trait SyntacticTryExtractor {
def apply(block: U#Tree, catches: List[U#Tree], finalizer: U#Tree): U#Try
def unapply(tree: U#Try): Option[(U#Tree, List[U#CaseDef], U#Tree)]
}
val SyntacticTermIdent: SyntacticTermIdentExtractor
trait SyntacticTermIdentExtractor {
def apply(name: U#TermName, isBackquoted: Boolean = false): U#Ident
def unapply(id: U#Ident): Option[(U#TermName, Boolean)]
}
val SyntacticTypeIdent: SyntacticTypeIdentExtractor
trait SyntacticTypeIdentExtractor {
def apply(name: U#TypeName): U#Ident
def unapply(tree: U#Tree): Option[U#TypeName]
}
val SyntacticImport: SyntacticImportExtractor
trait SyntacticImportExtractor {
def apply(expr: U#Tree, selectors: List[U#Tree]): U#Import
def unapply(imp: U#Import): Some[(U#Tree, List[U#Tree])]
}
val SyntacticSelectType: SyntacticSelectTypeExtractor
trait SyntacticSelectTypeExtractor {
def apply(qual: U#Tree, name: U#TypeName): U#Select
def unapply(tree: U#Tree): Option[(U#Tree, U#TypeName)]
}
val SyntacticSelectTerm: SyntacticSelectTermExtractor
trait SyntacticSelectTermExtractor {
def apply(qual: U#Tree, name: U#TermName): U#Select
def unapply(tree: U#Tree): Option[(U#Tree, U#TermName)]
}
val SyntacticCompoundType: SyntacticCompoundTypeExtractor
trait SyntacticCompoundTypeExtractor {
def apply(parents: List[U#Tree], defns: List[U#Tree]): U#CompoundTypeTree
def unapply(tree: U#Tree): Option[(List[U#Tree], List[U#Tree])]
}
val SyntacticSingletonType: SyntacticSingletonTypeExtractor
trait SyntacticSingletonTypeExtractor {
def apply(tree: U#Tree): U#SingletonTypeTree
def unapply(tree: U#Tree): Option[U#Tree]
}
val SyntacticTypeProjection: SyntacticTypeProjectionExtractor
trait SyntacticTypeProjectionExtractor {
def apply(qual: U#Tree, name: U#TypeName): U#SelectFromTypeTree
def unapply(tree: U#Tree): Option[(U#Tree, U#TypeName)]
}
val SyntacticAnnotatedType: SyntacticAnnotatedTypeExtractor
trait SyntacticAnnotatedTypeExtractor {
def apply(tpt: U#Tree, annot: U#Tree): U#Annotated
def unapply(tree: U#Tree): Option[(U#Tree, U#Tree)]
}
val SyntacticExistentialType: SyntacticExistentialTypeExtractor
trait SyntacticExistentialTypeExtractor {
def apply(tpt: U#Tree, where: List[U#Tree]): U#ExistentialTypeTree
def unapply(tree: U#Tree): Option[(U#Tree, List[U#MemberDef])]
}
}
trait CompatSupportApi {
object TermName {
def apply(s: String): U#TermName = u.newTermName(s)
def unapply(name: U#TermName): Some[String] = Some(name.toString)
}
object TypeName {
def apply(s: String): U#TypeName = u.newTypeName(s)
def unapply(name: U#TypeName): Some[String] = Some(name.toString)
}
object Modifiers {
def apply(flags: U#FlagSet, privateWithin: U#Name = TermName(""), annotations: List[U#Tree] = Nil): U#Modifiers =
u.Modifiers(flags.asInstanceOf[u.FlagSet], privateWithin.asInstanceOf[u.Name], annotations.asInstanceOf[List[u.Tree]])
def unapply(mods: U#Modifiers): Some[(U#FlagSet, U#Name, List[U#Tree])] =
Some((mods.flags, mods.privateWithin, mods.annotations))
}
object EmptyValDefLike {
def apply(): U#ValDef = u.emptyValDef
def unapply(tree: U#Tree): Boolean = tree eq u.emptyValDef
}
}
trait StandardLiftableApi {
implicit def liftByte[T <: Byte]: U#Liftable[T]
implicit def liftShort[T <: Short]: U#Liftable[T]
implicit def liftChar[T <: Char]: U#Liftable[T]
implicit def liftInt[T <: Int]: U#Liftable[T]
implicit def liftLong[T <: Long]: U#Liftable[T]
implicit def liftFloat[T <: Float]: U#Liftable[T]
implicit def liftDouble[T <: Double]: U#Liftable[T]
implicit def liftBoolean[T <: Boolean]: U#Liftable[T]
implicit def liftUnit: U#Liftable[Unit]
implicit def liftString[T <: String]: U#Liftable[T]
implicit def liftScalaSymbol: U#Liftable[scala.Symbol]
implicit def liftTree[T <: U#Tree]: U#Liftable[T]
implicit def liftName[T <: U#Name]: U#Liftable[T]
implicit def liftExpr[T <: U#Expr[_]]: U#Liftable[T]
implicit def liftType[T <: U#Type]: U#Liftable[T]
implicit def liftTypeTag[T <: U#WeakTypeTag[_]]: U#Liftable[T]
implicit def liftConstant[T <: U#Constant]: U#Liftable[T]
implicit def liftArray[T: U#Liftable]: U#Liftable[Array[T]]
implicit def liftVector[T: U#Liftable]: U#Liftable[Vector[T]]
implicit def liftList[T: U#Liftable]: U#Liftable[List[T]]
implicit def liftNil: U#Liftable[Nil.type]
implicit def liftMap[K: U#Liftable, V: U#Liftable]: U#Liftable[Map[K, V]]
implicit def liftSet[T: U#Liftable]: U#Liftable[Set[T]]
implicit def liftSome[T: U#Liftable]: U#Liftable[Some[T]]
implicit def liftNone: U#Liftable[None.type]
implicit def liftOption[T: U#Liftable]: U#Liftable[Option[T]]
implicit def liftLeft[L: U#Liftable, R]: U#Liftable[Left[L, R]]
implicit def liftRight[L, R: U#Liftable]: U#Liftable[Right[L, R]]
implicit def liftEither[L: U#Liftable, R: U#Liftable]: U#Liftable[Either[L, R]]
implicit def liftTuple2[T1, T2](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2]): U#Liftable[Tuple2[T1, T2]]
implicit def liftTuple3[T1, T2, T3](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3]): U#Liftable[Tuple3[T1, T2, T3]]
implicit def liftTuple4[T1, T2, T3, T4](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4]): U#Liftable[Tuple4[T1, T2, T3, T4]]
implicit def liftTuple5[T1, T2, T3, T4, T5](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5]): U#Liftable[Tuple5[T1, T2, T3, T4, T5]]
implicit def liftTuple6[T1, T2, T3, T4, T5, T6](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6]): U#Liftable[Tuple6[T1, T2, T3, T4, T5, T6]]
implicit def liftTuple7[T1, T2, T3, T4, T5, T6, T7](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7]): U#Liftable[Tuple7[T1, T2, T3, T4, T5, T6, T7]]
implicit def liftTuple8[T1, T2, T3, T4, T5, T6, T7, T8](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8]): U#Liftable[Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
implicit def liftTuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9]): U#Liftable[Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
implicit def liftTuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10]): U#Liftable[Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
implicit def liftTuple11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11]): U#Liftable[Tuple11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11]]
implicit def liftTuple12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12]): U#Liftable[Tuple12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12]]
implicit def liftTuple13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13]): U#Liftable[Tuple13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13]]
implicit def liftTuple14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14]): U#Liftable[Tuple14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14]]
implicit def liftTuple15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14], liftT15: U#Liftable[T15]): U#Liftable[Tuple15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15]]
implicit def liftTuple16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14], liftT15: U#Liftable[T15], liftT16: U#Liftable[T16]): U#Liftable[Tuple16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16]]
implicit def liftTuple17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14], liftT15: U#Liftable[T15], liftT16: U#Liftable[T16], liftT17: U#Liftable[T17]): U#Liftable[Tuple17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17]]
implicit def liftTuple18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14], liftT15: U#Liftable[T15], liftT16: U#Liftable[T16], liftT17: U#Liftable[T17], liftT18: U#Liftable[T18]): U#Liftable[Tuple18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18]]
implicit def liftTuple19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14], liftT15: U#Liftable[T15], liftT16: U#Liftable[T16], liftT17: U#Liftable[T17], liftT18: U#Liftable[T18], liftT19: U#Liftable[T19]): U#Liftable[Tuple19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19]]
implicit def liftTuple20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14], liftT15: U#Liftable[T15], liftT16: U#Liftable[T16], liftT17: U#Liftable[T17], liftT18: U#Liftable[T18], liftT19: U#Liftable[T19], liftT20: U#Liftable[T20]): U#Liftable[Tuple20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20]]
implicit def liftTuple21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14], liftT15: U#Liftable[T15], liftT16: U#Liftable[T16], liftT17: U#Liftable[T17], liftT18: U#Liftable[T18], liftT19: U#Liftable[T19], liftT20: U#Liftable[T20], liftT21: U#Liftable[T21]): U#Liftable[Tuple21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21]]
implicit def liftTuple22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14], liftT15: U#Liftable[T15], liftT16: U#Liftable[T16], liftT17: U#Liftable[T17], liftT18: U#Liftable[T18], liftT19: U#Liftable[T19], liftT20: U#Liftable[T20], liftT21: U#Liftable[T21], liftT22: U#Liftable[T22]): U#Liftable[Tuple22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22]]
}
trait StandardUnliftableApi {
implicit def unliftByte: U#Unliftable[Byte]
implicit def unliftShort: U#Unliftable[Short]
implicit def unliftChar: U#Unliftable[Char]
implicit def unliftInt: U#Unliftable[Int]
implicit def unliftLong: U#Unliftable[Long]
implicit def unliftFloat: U#Unliftable[Float]
implicit def unliftDouble: U#Unliftable[Double]
implicit def unliftBoolean: U#Unliftable[Boolean]
implicit def unliftUnit: U#Unliftable[Unit]
implicit def unliftString: U#Unliftable[String]
implicit def unliftScalaSymbol: U#Unliftable[scala.Symbol]
implicit def unliftName[T <: U#Name : ClassTag]: U#Unliftable[T]
implicit def unliftType: U#Unliftable[U#Type]
implicit def unliftConstant: U#Unliftable[U#Constant]
implicit def unliftTuple2[T1, T2](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2]): U#Unliftable[Tuple2[T1, T2]]
implicit def unliftTuple3[T1, T2, T3](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3]): U#Unliftable[Tuple3[T1, T2, T3]]
implicit def unliftTuple4[T1, T2, T3, T4](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4]): U#Unliftable[Tuple4[T1, T2, T3, T4]]
implicit def unliftTuple5[T1, T2, T3, T4, T5](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5]): U#Unliftable[Tuple5[T1, T2, T3, T4, T5]]
implicit def unliftTuple6[T1, T2, T3, T4, T5, T6](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6]): U#Unliftable[Tuple6[T1, T2, T3, T4, T5, T6]]
implicit def unliftTuple7[T1, T2, T3, T4, T5, T6, T7](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7]): U#Unliftable[Tuple7[T1, T2, T3, T4, T5, T6, T7]]
implicit def unliftTuple8[T1, T2, T3, T4, T5, T6, T7, T8](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8]): U#Unliftable[Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
implicit def unliftTuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9]): U#Unliftable[Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
implicit def unliftTuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10]): U#Unliftable[Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
implicit def unliftTuple11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11]): U#Unliftable[Tuple11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11]]
implicit def unliftTuple12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12]): U#Unliftable[Tuple12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12]]
implicit def unliftTuple13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13]): U#Unliftable[Tuple13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13]]
implicit def unliftTuple14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14]): U#Unliftable[Tuple14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14]]
implicit def unliftTuple15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14], unliftT15: U#Unliftable[T15]): U#Unliftable[Tuple15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15]]
implicit def unliftTuple16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14], unliftT15: U#Unliftable[T15], unliftT16: U#Unliftable[T16]): U#Unliftable[Tuple16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16]]
implicit def unliftTuple17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14], unliftT15: U#Unliftable[T15], unliftT16: U#Unliftable[T16], unliftT17: U#Unliftable[T17]): U#Unliftable[Tuple17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17]]
implicit def unliftTuple18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14], unliftT15: U#Unliftable[T15], unliftT16: U#Unliftable[T16], unliftT17: U#Unliftable[T17], unliftT18: U#Unliftable[T18]): U#Unliftable[Tuple18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18]]
implicit def unliftTuple19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14], unliftT15: U#Unliftable[T15], unliftT16: U#Unliftable[T16], unliftT17: U#Unliftable[T17], unliftT18: U#Unliftable[T18], unliftT19: U#Unliftable[T19]): U#Unliftable[Tuple19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19]]
implicit def unliftTuple20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14], unliftT15: U#Unliftable[T15], unliftT16: U#Unliftable[T16], unliftT17: U#Unliftable[T17], unliftT18: U#Unliftable[T18], unliftT19: U#Unliftable[T19], unliftT20: U#Unliftable[T20]): U#Unliftable[Tuple20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20]]
implicit def unliftTuple21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14], unliftT15: U#Unliftable[T15], unliftT16: U#Unliftable[T16], unliftT17: U#Unliftable[T17], unliftT18: U#Unliftable[T18], unliftT19: U#Unliftable[T19], unliftT20: U#Unliftable[T20], unliftT21: U#Unliftable[T21]): U#Unliftable[Tuple21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21]]
implicit def unliftTuple22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14], unliftT15: U#Unliftable[T15], unliftT16: U#Unliftable[T16], unliftT17: U#Unliftable[T17], unliftT18: U#Unliftable[T18], unliftT19: U#Unliftable[T19], unliftT20: U#Unliftable[T20], unliftT21: U#Unliftable[T21], unliftT22: U#Unliftable[T22]): U#Unliftable[Tuple22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22]]
}
// TODO: making these fields private will crash at runtime with IllegalAccessError
val _u: SymbolTable = u.asInstanceOf[SymbolTable]
val _build = new { val global: _u.type = _u } with ReificationSupport
class ReificationSupportImpl extends ReificationSupportApi with CompatSupportApi with StandardLiftableApi with StandardLiftableImpl with StandardUnliftableApi with StandardUnliftableImpl {
import u._, definitions._, Flag._
def AnnotatedType(annotations: List[U#Annotation],underlying: U#Type,selfSym: U#Symbol): AnnotatedType = _build.AnnotatedType(annotations.asInstanceOf[List[_u.Annotation]], underlying.asInstanceOf[_u.Type], selfSym.asInstanceOf[_u.Symbol]).asInstanceOf[AnnotatedType]
def BoundedWildcardType(bounds: U#TypeBounds): BoundedWildcardType = _build.BoundedWildcardType(bounds.asInstanceOf[_u.TypeBounds]).asInstanceOf[BoundedWildcardType]
def ClassInfoType(parents: List[U#Type],decls: U#Scope,typeSymbol: U#Symbol): ClassInfoType = _build.ClassInfoType(parents.asInstanceOf[List[_u.Type]], decls.asInstanceOf[_u.Scope], typeSymbol.asInstanceOf[_u.Symbol]).asInstanceOf[ClassInfoType]
def ConstantType(value: U#Constant): ConstantType = _build.ConstantType(value.asInstanceOf[_u.Constant]).asInstanceOf[ConstantType]
def ExistentialType(quantified: List[U#Symbol],underlying: U#Type): ExistentialType = _build.ExistentialType(quantified.asInstanceOf[List[_u.Symbol]], underlying.asInstanceOf[_u.Type]).asInstanceOf[ExistentialType]
val FlagsRepr: FlagsReprExtractor = new FlagsReprExtractor {
def apply(value: Long): U#FlagSet = _build.FlagsRepr.apply(value).asInstanceOf[U#FlagSet]
def unapply(flags: Long): Some[Long] = _build.FlagsRepr.unapply(flags)
}
val ImplicitParams: ImplicitParamsExtractor = new ImplicitParamsExtractor {
def apply(paramss: List[List[U#Tree]], implparams: List[U#Tree]): List[List[U#Tree]] = _build.ImplicitParams.apply(paramss.asInstanceOf[List[List[_u.Tree]]], implparams.asInstanceOf[List[_u.Tree]]).asInstanceOf[List[List[U#Tree]]]
def unapply(vparamss: List[List[U#ValDef]]): Some[(List[List[U#ValDef]], List[U#ValDef])] = _build.ImplicitParams.unapply(vparamss.asInstanceOf[List[List[_u.ValDef]]]).asInstanceOf[Some[(List[List[U#ValDef]], List[U#ValDef])]]
}
def MethodType(params: List[U#Symbol],resultType: U#Type): MethodType = _build.MethodType(params.asInstanceOf[List[_u.Symbol]], resultType.asInstanceOf[_u.Type]).asInstanceOf[MethodType]
def NullaryMethodType(resultType: U#Type): NullaryMethodType = _build.NullaryMethodType(resultType.asInstanceOf[_u.Type]).asInstanceOf[NullaryMethodType]
def PolyType(typeParams: List[U#Symbol],resultType: U#Type): PolyType = _build.PolyType(typeParams.asInstanceOf[List[_u.Symbol]], resultType.asInstanceOf[_u.Type]).asInstanceOf[PolyType]
def RefinedType(parents: List[U#Type],decls: U#Scope,typeSymbol: U#Symbol): RefinedType = _build.RefinedType(parents.asInstanceOf[List[_u.Type]], decls.asInstanceOf[_u.Scope], typeSymbol.asInstanceOf[_u.Symbol]).asInstanceOf[RefinedType]
val ScalaDot: ScalaDotExtractor = new ScalaDotExtractor {
def apply(name: U#Name): U#Tree = _build.ScalaDot.apply(name.asInstanceOf[_u.Name]).asInstanceOf[U#Tree]
def unapply(tree: U#Tree): Option[U#Name] = _build.ScalaDot.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[U#Name]]
}
def SingleType(pre: U#Type,sym: U#Symbol): U#Type = _build.SingleType(pre.asInstanceOf[_u.Type], sym.asInstanceOf[_u.Symbol]).asInstanceOf[SingleType]
def SuperType(thistpe: U#Type,supertpe: U#Type): U#Type = _build.SuperType(thistpe.asInstanceOf[_u.Type], supertpe.asInstanceOf[_u.Type]).asInstanceOf[SuperType]
val SyntacticAnnotatedType: SyntacticAnnotatedTypeExtractor = new SyntacticAnnotatedTypeExtractor {
def apply(tpt: U#Tree, annot: U#Tree): U#Annotated = _build.SyntacticAnnotatedType.apply(tpt.asInstanceOf[_u.Tree], annot.asInstanceOf[_u.Tree]).asInstanceOf[U#Annotated]
def unapply(tree: U#Tree): Option[(U#Tree, U#Tree)] = _build.SyntacticAnnotatedType.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Tree, U#Tree)]]
}
val SyntacticApplied: SyntacticAppliedExtractor = new SyntacticAppliedExtractor {
def apply(tree: U#Tree, argss: List[List[U#Tree]]): U#Tree = _build.SyntacticApplied.apply(tree.asInstanceOf[_u.Tree], argss.asInstanceOf[List[List[_u.Tree]]]).asInstanceOf[U#Tree]
def unapply(tree: U#Tree): Some[(U#Tree, List[List[U#Tree]])] = _build.SyntacticApplied.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Some[(U#Tree, List[List[U#Tree]])]]
}
val SyntacticAppliedType: SyntacticTypeAppliedExtractor = new SyntacticTypeAppliedExtractor {
def apply(tree: U#Tree, targs: List[U#Tree]): U#Tree = _build.SyntacticAppliedType.apply(tree.asInstanceOf[_u.Tree], targs.asInstanceOf[List[_u.Tree]]).asInstanceOf[U#Tree]
def unapply(tree: U#Tree): Option[(U#Tree, List[U#Tree])] = _build.SyntacticAppliedType.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Tree, List[U#Tree])]]
}
val SyntacticAssign: SyntacticAssignExtractor = new SyntacticAssignExtractor {
def apply(lhs: U#Tree, rhs: U#Tree): U#Tree = _build.SyntacticAssign.apply(lhs.asInstanceOf[_u.Tree], rhs.asInstanceOf[_u.Tree]).asInstanceOf[U#Tree]
def unapply(tree: U#Tree): Option[(U#Tree, U#Tree)] = _build.SyntacticAssign.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Tree, U#Tree)]]
}
val SyntacticBlock: SyntacticBlockExtractor = new SyntacticBlockExtractor {
def apply(stats: List[U#Tree]): U#Tree = _build.SyntacticBlock.apply(stats.asInstanceOf[List[_u.Tree]]).asInstanceOf[U#Tree]
def unapply(tree: U#Tree): Option[List[U#Tree]] = _build.SyntacticBlock.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[List[U#Tree]]]
}
val SyntacticClassDef: SyntacticClassDefExtractor = new SyntacticClassDefExtractor {
def apply(mods: U#Modifiers, name: U#TypeName, tparams: List[U#Tree],
constrMods: U#Modifiers, vparamss: List[List[U#Tree]],
earlyDefs: List[U#Tree], parents: List[U#Tree], selfType: U#Tree, body: List[U#Tree]): U#ClassDef =
_build.SyntacticClassDef.apply(mods.asInstanceOf[_u.Modifiers], name.asInstanceOf[_u.TypeName], tparams.asInstanceOf[List[_u.Tree]],
constrMods.asInstanceOf[_u.Modifiers], vparamss.asInstanceOf[List[List[_u.Tree]]],
earlyDefs.asInstanceOf[List[_u.Tree]], parents.asInstanceOf[List[_u.Tree]], selfType.asInstanceOf[_u.Tree], body.asInstanceOf[List[_u.Tree]]).asInstanceOf[U#ClassDef]
def unapply(tree: U#Tree): Option[(U#Modifiers, U#TypeName, List[U#TypeDef], U#Modifiers, List[List[U#ValDef]],
List[U#Tree], List[U#Tree], U#ValDef, List[U#Tree])] = _build.SyntacticClassDef.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Modifiers, U#TypeName, List[U#TypeDef], U#Modifiers, List[List[U#ValDef]], List[U#Tree], List[U#Tree], U#ValDef, List[U#Tree])]]
}
val SyntacticCompoundType: SyntacticCompoundTypeExtractor = new SyntacticCompoundTypeExtractor {
def apply(parents: List[U#Tree], defns: List[U#Tree]): U#CompoundTypeTree = _build.SyntacticCompoundType.apply(parents.asInstanceOf[List[_u.Tree]], defns.asInstanceOf[List[_u.Tree]]).asInstanceOf[U#CompoundTypeTree]
def unapply(tree: U#Tree): Option[(List[U#Tree], List[U#Tree])] = _build.SyntacticCompoundType.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(List[U#Tree], List[U#Tree])]]
}
val SyntacticDefDef: SyntacticDefDefExtractor = new SyntacticDefDefExtractor {
def apply(mods: U#Modifiers, name: U#TermName, tparams: List[U#Tree],
vparamss: List[List[U#Tree]], tpt: U#Tree, rhs: U#Tree): DefDef = _build.SyntacticDefDef.apply(mods.asInstanceOf[_u.Modifiers], name.asInstanceOf[_u.TermName], tparams.asInstanceOf[List[_u.Tree]], vparamss.asInstanceOf[List[List[_u.Tree]]], tpt.asInstanceOf[_u.Tree], rhs.asInstanceOf[_u.Tree]).asInstanceOf[DefDef]
def unapply(tree: U#Tree): Option[(U#Modifiers, U#TermName, List[U#TypeDef], List[List[U#ValDef]], U#Tree, U#Tree)] = _build.SyntacticDefDef.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Modifiers, U#TermName, List[U#TypeDef], List[List[U#ValDef]], U#Tree, U#Tree)]]
}
val SyntacticEmptyTypeTree: SyntacticEmptyTypeTreeExtractor = new SyntacticEmptyTypeTreeExtractor {
def apply(): TypeTree = _build.SyntacticEmptyTypeTree().asInstanceOf[TypeTree]
def unapply(tt: U#TypeTree): Boolean = _build.SyntacticEmptyTypeTree.unapply(tt.asInstanceOf[_u.TypeTree])
}
val SyntacticExistentialType: SyntacticExistentialTypeExtractor = new SyntacticExistentialTypeExtractor {
def apply(tpt: U#Tree, where: List[U#Tree]): U#ExistentialTypeTree = _build.SyntacticExistentialType.apply(tpt.asInstanceOf[_u.Tree], where.asInstanceOf[List[_u.Tree]]).asInstanceOf[U#ExistentialTypeTree]
def unapply(tree: U#Tree): Option[(U#Tree, List[U#MemberDef])] = _build.SyntacticExistentialType.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Tree, List[U#MemberDef])]]
}
val SyntacticFilter: SyntacticFilterExtractor = new SyntacticFilterExtractor {
def apply(test: U#Tree): U#Tree = _build.SyntacticFilter.apply(test.asInstanceOf[_u.Tree]).asInstanceOf[U#Tree]
def unapply(tree: U#Tree): Option[(U#Tree)] = _build.SyntacticFilter.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Tree)]]
}
val SyntacticFor: SyntacticForExtractor = new SyntacticForExtractor {
def apply(enums: List[U#Tree], body: U#Tree): U#Tree = _build.SyntacticFor.apply(enums.asInstanceOf[List[_u.Tree]], body.asInstanceOf[_u.Tree]).asInstanceOf[U#Tree]
def unapply(tree: U#Tree): Option[(List[U#Tree], U#Tree)] = _build.SyntacticFor.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(List[U#Tree], U#Tree)]]
}
val SyntacticForYield: SyntacticForExtractor = new SyntacticForExtractor {
def apply(enums: List[U#Tree], body: U#Tree): U#Tree = _build.SyntacticForYield.apply(enums.asInstanceOf[List[_u.Tree]], body.asInstanceOf[_u.Tree]).asInstanceOf[U#Tree]
def unapply(tree: U#Tree): Option[(List[U#Tree], U#Tree)] = _build.SyntacticForYield.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(List[U#Tree], U#Tree)]]
}
val SyntacticFunction: SyntacticFunctionExtractor = new SyntacticFunctionExtractor {
def apply(params: List[U#Tree], body: U#Tree): Function = _build.SyntacticFunction.apply(params.asInstanceOf[List[_u.Tree]], body.asInstanceOf[_u.Tree]).asInstanceOf[Function]
def unapply(tree: U#Function): Option[(List[U#ValDef], U#Tree)] = _build.SyntacticFunction.unapply(tree.asInstanceOf[_u.Function]).asInstanceOf[Option[(List[U#ValDef], U#Tree)]]
}
val SyntacticFunctionType: SyntacticFunctionTypeExtractor = new SyntacticFunctionTypeExtractor {
def apply(argtpes: List[U#Tree], restpe: U#Tree): U#Tree = _build.SyntacticFunctionType.apply(argtpes.asInstanceOf[List[_u.Tree]], restpe.asInstanceOf[_u.Tree]).asInstanceOf[U#Tree]
def unapply(tree: U#Tree): Option[(List[U#Tree], U#Tree)] = _build.SyntacticFunctionType.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(List[U#Tree], U#Tree)]]
}
val SyntacticImport: SyntacticImportExtractor = new SyntacticImportExtractor {
def apply(expr: U#Tree, selectors: List[U#Tree]): Import = _build.SyntacticImport.apply(expr.asInstanceOf[_u.Tree], selectors.asInstanceOf[List[_u.Tree]]).asInstanceOf[Import]
def unapply(imp: U#Import): Some[(U#Tree, List[U#Tree])] = _build.SyntacticImport.unapply(imp.asInstanceOf[_u.Import]).asInstanceOf[Some[(U#Tree, List[U#Tree])]]
}
val SyntacticMatch: SyntacticMatchExtractor = new SyntacticMatchExtractor {
def apply(scrutinee: U#Tree, cases: List[U#Tree]): Match = _build.SyntacticMatch.apply(scrutinee.asInstanceOf[_u.Tree], cases.asInstanceOf[List[_u.Tree]]).asInstanceOf[Match]
def unapply(tree: U#Match): Option[(U#Tree, List[CaseDef])] = _build.SyntacticMatch.unapply(tree.asInstanceOf[_u.Match]).asInstanceOf[Option[(U#Tree, List[CaseDef])]]
}
val SyntacticNew: SyntacticNewExtractor = new SyntacticNewExtractor {
def apply(earlyDefs: List[U#Tree], parents: List[U#Tree], selfType: U#Tree, body: List[U#Tree]): U#Tree = _build.SyntacticNew.apply(earlyDefs.asInstanceOf[List[_u.Tree]], parents.asInstanceOf[List[_u.Tree]], selfType.asInstanceOf[_u.Tree], body.asInstanceOf[List[_u.Tree]]).asInstanceOf[U#Tree]
def unapply(tree: U#Tree): Option[(List[U#Tree], List[U#Tree], U#ValDef, List[U#Tree])] = _build.SyntacticNew.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(List[U#Tree], List[U#Tree], U#ValDef, List[U#Tree])]]
}
val SyntacticObjectDef: SyntacticObjectDefExtractor = new SyntacticObjectDefExtractor {
def apply(mods: U#Modifiers, name: U#TermName, earlyDefs: List[U#Tree],
parents: List[U#Tree], selfType: U#Tree, body: List[U#Tree]): U#ModuleDef =
_build.SyntacticObjectDef.apply(mods.asInstanceOf[_u.Modifiers], name.asInstanceOf[_u.TermName], earlyDefs.asInstanceOf[List[_u.Tree]], parents.asInstanceOf[List[_u.Tree]], selfType.asInstanceOf[_u.Tree], body.asInstanceOf[List[_u.Tree]]).asInstanceOf[U#ModuleDef]
def unapply(tree: U#Tree): Option[(U#Modifiers, U#TermName, List[U#Tree], List[U#Tree], U#ValDef, List[U#Tree])] =
_build.SyntacticObjectDef.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Modifiers, U#TermName, List[U#Tree], List[U#Tree], U#ValDef, List[U#Tree])]]
}
val SyntacticPackageObjectDef: SyntacticPackageObjectDefExtractor = new SyntacticPackageObjectDefExtractor {
def apply(name: U#TermName, earlyDefs: List[U#Tree],
parents: List[U#Tree], selfType: U#Tree, body: List[U#Tree]): PackageDef =
_build.SyntacticPackageObjectDef.apply(name.asInstanceOf[_u.TermName], earlyDefs.asInstanceOf[List[_u.Tree]], parents.asInstanceOf[List[_u.Tree]], selfType.asInstanceOf[_u.Tree], body.asInstanceOf[List[_u.Tree]]).asInstanceOf[PackageDef]
def unapply(tree: U#Tree): Option[(U#TermName, List[U#Tree], List[U#Tree], U#ValDef, List[U#Tree])] =
_build.SyntacticPackageObjectDef.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#TermName, List[U#Tree], List[U#Tree], U#ValDef, List[U#Tree])]]
}
val SyntacticPartialFunction: SyntacticPartialFunctionExtractor = new SyntacticPartialFunctionExtractor {
def apply(cases: List[U#Tree]): Match = _build.SyntacticPartialFunction.apply(cases.asInstanceOf[List[_u.Tree]]).asInstanceOf[Match]
def unapply(tree: U#Tree): Option[List[CaseDef]] = _build.SyntacticPartialFunction.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[List[CaseDef]]]
}
val SyntacticPatDef: SyntacticPatDefExtractor = new SyntacticPatDefExtractor {
def apply(mods: U#Modifiers, pat: U#Tree, tpt: U#Tree, rhs: U#Tree): List[U#ValDef] = _build.SyntacticPatDef.apply(mods.asInstanceOf[_u.Modifiers], pat.asInstanceOf[_u.Tree], tpt.asInstanceOf[_u.Tree], rhs.asInstanceOf[_u.Tree]).asInstanceOf[List[U#ValDef]]
}
val SyntacticSelectTerm: SyntacticSelectTermExtractor = new SyntacticSelectTermExtractor {
def apply(qual: U#Tree, name: U#TermName): Select = _build.SyntacticSelectTerm.apply(qual.asInstanceOf[_u.Tree], name.asInstanceOf[_u.TermName]).asInstanceOf[Select]
def unapply(tree: U#Tree): Option[(U#Tree, U#TermName)] = _build.SyntacticSelectTerm.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Tree, U#TermName)]]
}
val SyntacticSelectType: SyntacticSelectTypeExtractor = new SyntacticSelectTypeExtractor {
def apply(qual: U#Tree, name: U#TypeName): Select = _build.SyntacticSelectType.apply(qual.asInstanceOf[_u.Tree], name.asInstanceOf[_u.TypeName]).asInstanceOf[Select]
def unapply(tree: U#Tree): Option[(U#Tree, U#TypeName)] = _build.SyntacticSelectType.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Tree, U#TypeName)]]
}
val SyntacticSingletonType: SyntacticSingletonTypeExtractor = new SyntacticSingletonTypeExtractor {
def apply(tree: U#Tree): U#SingletonTypeTree = _build.SyntacticSingletonType.apply(tree.asInstanceOf[_u.Tree]).asInstanceOf[U#SingletonTypeTree]
def unapply(tree: U#Tree): Option[U#Tree] = _build.SyntacticSingletonType.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[U#Tree]]
}
val SyntacticTermIdent: SyntacticTermIdentExtractor = new SyntacticTermIdentExtractor {
def apply(name: U#TermName, isBackquoted: Boolean = false): U#Ident =
_build.SyntacticTermIdent.apply(name.asInstanceOf[_u.TermName], isBackquoted).asInstanceOf[U#Ident]
def unapply(id: U#Ident): Option[(U#TermName, Boolean)] =
_build.SyntacticTermIdent.unapply(id.asInstanceOf[_u.Ident]).asInstanceOf[Option[(U#TermName, Boolean)]]
}
val SyntacticTypeIdent: SyntacticTypeIdentExtractor = new SyntacticTypeIdentExtractor {
def apply(name: U#TypeName): U#Ident =
_build.SyntacticTypeIdent.apply(name.asInstanceOf[_u.TypeName]).asInstanceOf[U#Ident]
def unapply(tree: U#Tree): Option[(U#TypeName)] =
_build.SyntacticTypeIdent.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#TypeName)]]
}
val SyntacticTraitDef: SyntacticTraitDefExtractor = new SyntacticTraitDefExtractor {
def apply(mods: U#Modifiers, name: U#TypeName, tparams: List[U#Tree],
earlyDefs: List[U#Tree], parents: List[U#Tree], selfType: U#Tree, body: List[U#Tree]): U#ClassDef =
_build.SyntacticTraitDef.apply(mods.asInstanceOf[_u.Modifiers], name.asInstanceOf[_u.TypeName], tparams.asInstanceOf[List[_u.Tree]], earlyDefs.asInstanceOf[List[_u.Tree]], parents.asInstanceOf[List[_u.Tree]], selfType.asInstanceOf[_u.Tree], body.asInstanceOf[List[_u.Tree]]).asInstanceOf[U#ClassDef]
def unapply(tree: U#Tree): Option[(U#Modifiers, U#TypeName, List[U#TypeDef],
List[U#Tree], List[U#Tree], U#ValDef, List[U#Tree])] =
_build.SyntacticTraitDef.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Modifiers, U#TypeName, List[U#TypeDef],
List[U#Tree], List[U#Tree], U#ValDef, List[U#Tree])]]
}
val SyntacticTry: SyntacticTryExtractor = new SyntacticTryExtractor {
def apply(block: U#Tree, catches: List[U#Tree], finalizer: U#Tree): Try = _build.SyntacticTry.apply(block.asInstanceOf[_u.Tree], catches.asInstanceOf[List[_u.Tree]], finalizer.asInstanceOf[_u.Tree]).asInstanceOf[Try]
def unapply(tree: U#Try): Option[(U#Tree, List[CaseDef], U#Tree)] = _build.SyntacticTry.unapply(tree.asInstanceOf[_u.Try]).asInstanceOf[Option[(U#Tree, List[CaseDef], U#Tree)]]
}
val SyntacticTuple: SyntacticTupleExtractor = new SyntacticTupleExtractor {
def apply(args: List[U#Tree]): U#Tree = _build.SyntacticTuple.apply(args.asInstanceOf[List[_u.Tree]]).asInstanceOf[U#Tree]
def unapply(tree: U#Tree): Option[List[U#Tree]] = _build.SyntacticTuple.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[List[U#Tree]]]
}
val SyntacticTupleType: SyntacticTupleExtractor = new SyntacticTupleExtractor {
def apply(args: List[U#Tree]): U#Tree = _build.SyntacticTupleType.apply(args.asInstanceOf[List[_u.Tree]]).asInstanceOf[U#Tree]
def unapply(tree: U#Tree): Option[List[U#Tree]] = _build.SyntacticTupleType.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[List[U#Tree]]]
}
val SyntacticTypeApplied: SyntacticTypeAppliedExtractor = new SyntacticTypeAppliedExtractor {
def apply(tree: U#Tree, targs: List[U#Tree]): U#Tree = _build.SyntacticTypeApplied.apply(tree.asInstanceOf[_u.Tree], targs.asInstanceOf[List[_u.Tree]]).asInstanceOf[U#Tree]
def unapply(tree: U#Tree): Option[(U#Tree, List[U#Tree])] = _build.SyntacticTypeApplied.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Tree, List[U#Tree])]]
}
val SyntacticTypeProjection: SyntacticTypeProjectionExtractor = new SyntacticTypeProjectionExtractor {
def apply(qual: U#Tree, name: U#TypeName): U#SelectFromTypeTree = _build.SyntacticTypeProjection(qual.asInstanceOf[_u.Tree], name.asInstanceOf[_u.TypeName]).asInstanceOf[U#SelectFromTypeTree]
def unapply(tree: U#Tree): Option[(U#Tree, U#TypeName)] = _build.SyntacticTypeProjection.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Tree, U#TypeName)]]
}
val SyntacticValDef: SyntacticValDefExtractor = new SyntacticValDefExtractor {
def apply(mods: U#Modifiers, name: U#TermName, tpt: U#Tree, rhs: U#Tree): U#ValDef = _build.SyntacticValDef(mods.asInstanceOf[_u.Modifiers], name.asInstanceOf[_u.TermName], tpt.asInstanceOf[_u.Tree], rhs.asInstanceOf[_u.Tree]).asInstanceOf[U#ValDef]
def unapply(tree: U#Tree): Option[(U#Modifiers, U#TermName, U#Tree, U#Tree)] = _build.SyntacticValDef.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Modifiers, U#TermName, U#Tree, U#Tree)]]
}
val SyntacticValEq: SyntacticValEqExtractor = new SyntacticValEqExtractor {
def apply(pat: U#Tree, rhs: U#Tree): U#Tree = _build.SyntacticValEq.apply(pat.asInstanceOf[_u.Tree], rhs.asInstanceOf[_u.Tree]).asInstanceOf[U#Tree]
def unapply(tree: U#Tree): Option[(U#Tree, U#Tree)] = _build.SyntacticValEq.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Tree, U#Tree)]]
}
val SyntacticValFrom: SyntacticValFromExtractor = new SyntacticValFromExtractor {
def apply(pat: U#Tree, rhs: U#Tree): U#Tree = _build.SyntacticValFrom.apply(pat.asInstanceOf[_u.Tree], rhs.asInstanceOf[_u.Tree]).asInstanceOf[U#Tree]
def unapply(tree: U#Tree): Option[(U#Tree, U#Tree)] = _build.SyntacticValFrom.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Tree, U#Tree)]]
}
val SyntacticVarDef: SyntacticValDefExtractor = new SyntacticValDefExtractor {
def apply(mods: U#Modifiers, name: U#TermName, tpt: U#Tree, rhs: U#Tree): U#ValDef = _build.SyntacticVarDef(mods.asInstanceOf[_u.Modifiers], name.asInstanceOf[_u.TermName], tpt.asInstanceOf[_u.Tree], rhs.asInstanceOf[_u.Tree]).asInstanceOf[U#ValDef]
def unapply(tree: U#Tree): Option[(U#Modifiers, U#TermName, U#Tree, U#Tree)] = _build.SyntacticVarDef.unapply(tree.asInstanceOf[_u.Tree]).asInstanceOf[Option[(U#Modifiers, U#TermName, U#Tree, U#Tree)]]
}
def ThisType(sym: U#Symbol): U#Type = _build.ThisType(sym.asInstanceOf[_u.Symbol]).asInstanceOf[U#Type]
def TypeBounds(lo: U#Type,hi: U#Type): TypeBounds = _build.TypeBounds(lo.asInstanceOf[_u.Type], hi.asInstanceOf[_u.Type]).asInstanceOf[TypeBounds]
def TypeRef(pre: U#Type,sym: U#Symbol,args: List[U#Type]): U#Type = _build.TypeRef(pre.asInstanceOf[_u.Type], sym.asInstanceOf[_u.Symbol], args.asInstanceOf[List[_u.Type]]).asInstanceOf[TypeRef]
// def UnliftListElementwise[T](unliftable: U#Unliftable[T]): UnliftListElementwise[T] = _build.UnliftListElementwise(unliftable.asInstanceOf[_u.Unliftable[T]]).asInstanceOf[UnliftListElementwise[T]]
// def UnliftListOfListsElementwise[T](unliftable: U#Unliftable[T]): UnliftListOfListsElementwise[T] = _build.UnliftListElementwise(unliftable.asInstanceOf[_u.Unliftable[T]]).asInstanceOf[UnliftListOfListsElementwise[T]]
def freshTermName(prefix: String): U#TermName = _build.freshTermName(prefix).asInstanceOf[U#TermName]
def freshTypeName(prefix: String): U#TypeName = _build.freshTypeName(prefix).asInstanceOf[U#TypeName]
def mkAnnotation(trees: List[U#Tree]): List[U#Tree] = _build.mkAnnotation(trees.asInstanceOf[List[_u.Tree]]).asInstanceOf[List[U#Tree]]
def mkAnnotation(tree: U#Tree): U#Tree = _build.mkAnnotation(tree.asInstanceOf[_u.Tree]).asInstanceOf[U#Tree]
def mkEarlyDef(defns: List[U#Tree]): List[U#Tree] = _build.mkEarlyDef(defns.asInstanceOf[List[_u.Tree]]).asInstanceOf[List[U#Tree]]
def mkEarlyDef(defn: U#Tree): U#Tree = _build.mkEarlyDef(defn.asInstanceOf[_u.Tree]).asInstanceOf[U#Tree]
def mkIdent(sym: U#Symbol): Ident = _build.mkIdent(sym.asInstanceOf[_u.Symbol]).asInstanceOf[Ident]
def mkPackageStat(stats: List[U#Tree]): List[U#Tree] = _build.mkPackageStat(stats.asInstanceOf[List[_u.Tree]]).asInstanceOf[List[U#Tree]]
def mkPackageStat(stat: U#Tree): U#Tree = _build.mkPackageStat(stat.asInstanceOf[_u.Tree]).asInstanceOf[U#Tree]
def mkRefTree(qual: U#Tree,sym: U#Symbol): U#Tree = _build.mkRefTree(qual.asInstanceOf[_u.Tree], sym.asInstanceOf[_u.Symbol]).asInstanceOf[U#Tree]
def mkRefineStat(stats: List[U#Tree]): List[U#Tree] = _build.mkRefineStat(stats.asInstanceOf[List[_u.Tree]]).asInstanceOf[List[U#Tree]]
def mkRefineStat(stat: U#Tree): U#Tree = _build.mkRefineStat(stat.asInstanceOf[_u.Tree]).asInstanceOf[U#Tree]
def mkSelect(qualifier: U#Tree,sym: U#Symbol): Select = _build.mkSelect(qualifier.asInstanceOf[_u.Tree], sym.asInstanceOf[_u.Symbol]).asInstanceOf[Select]
def mkThis(sym: U#Symbol): U#Tree = _build.mkThis(sym.asInstanceOf[_u.Symbol]).asInstanceOf[U#Tree]
def mkTypeTree(tp: U#Type): TypeTree = _build.mkTypeTree(tp.asInstanceOf[_u.Type]).asInstanceOf[TypeTree]
def newFreeTerm(name: String,value: => Any,flags: U#FlagSet,origin: String): U#FreeTermSymbol = _build.newFreeTerm(name, value, flags.asInstanceOf[_u.FlagSet], origin).asInstanceOf[U#FreeTermSymbol]
def newFreeType(name: String,flags: U#FlagSet,origin: String): U#FreeTypeSymbol = _build.newFreeType(name, flags.asInstanceOf[_u.FlagSet], origin).asInstanceOf[U#FreeTypeSymbol]
def newNestedSymbol(owner: U#Symbol,name: U#Name,pos: U#Position,flags: U#FlagSet,isClass: Boolean): U#Symbol = _build.newNestedSymbol(owner.asInstanceOf[_u.Symbol], name.asInstanceOf[_u.Name], pos.asInstanceOf[_u.Position], flags.asInstanceOf[_u.FlagSet], isClass).asInstanceOf[U#Symbol]
def newScopeWith(elems: U#Symbol*): Scope = _build.newScopeWith(elems.toList.asInstanceOf[List[_u.Symbol]]: _*).asInstanceOf[Scope]
def selectOverloadedMethod(owner: U#Symbol,name: String,index: Int): U#MethodSymbol = _build.selectOverloadedMethod(owner.asInstanceOf[_u.Symbol], name, index).asInstanceOf[U#MethodSymbol]
def selectTerm(owner: U#Symbol,name: String): U#TermSymbol = _build.selectTerm(owner.asInstanceOf[_u.Symbol], name).asInstanceOf[U#TermSymbol]
def selectType(owner: U#Symbol,name: String): U#TypeSymbol = _build.selectType(owner.asInstanceOf[_u.Symbol], name).asInstanceOf[U#TypeSymbol]
def setAnnotations[S <: U#Symbol](sym: S,annots: List[U#Annotation]): S = _build.setAnnotations(sym.asInstanceOf[_u.Symbol], annots.asInstanceOf[List[_u.Annotation]]).asInstanceOf[S]
def setInfo[S <: U#Symbol](sym: S,tpe: U#Type): S = _build.setInfo(sym.asInstanceOf[_u.Symbol], tpe.asInstanceOf[_u.Type]).asInstanceOf[S]
def setSymbol[T <: U#Tree](tree: T,sym: U#Symbol): T = _build.setSymbol(tree.asInstanceOf[_u.Tree], sym.asInstanceOf[_u.Symbol]).asInstanceOf[T]
def setType[T <: U#Tree](tree: T,tpe: U#Type): T = _build.setType(tree.asInstanceOf[_u.Tree], tpe.asInstanceOf[_u.Type]).asInstanceOf[T]
def thisPrefix(sym: U#Symbol): U#Type = _build.thisPrefix(sym.asInstanceOf[_u.Symbol]).asInstanceOf[U#Type]
def toStats(tree: U#Tree): List[U#Tree] = _build.toStats(tree.asInstanceOf[_u.Tree]).asInstanceOf[List[U#Tree]]
}
trait StandardLiftableImpl extends StandardLiftableApi { self: ReificationSupportImpl =>
import u._, definitions._, Flag._
private object Liftable {
def apply[T](f: T => Tree): Liftable[T] = {
new Liftable[T] { def apply(value: T): Tree = f(value) }
}
}
private def lift[T: U#Liftable](value: T): Tree = implicitly[U#Liftable[T]].apply(value).asInstanceOf[u.Tree]
private def selectScala(names: Name*) = names.tail.foldLeft(ScalaDot(names.head).asInstanceOf[u.Tree]) { Select(_, _) }
private def callScala(names: Name*)(args: List[Tree]) = Apply(selectScala(names: _*), args)
private def callCollection(name: Name)(args: List[Tree]) = callScala(stdnme.collection, stdnme.immutable, name)(args)
private def liftAsLiteral[T]: Liftable[T] = Liftable { v => Literal(Constant(v)) }
override implicit def liftByte[T <: Byte]: Liftable[T] = liftAsLiteral[T]
override implicit def liftShort[T <: Short]: Liftable[T] = liftAsLiteral[T]
override implicit def liftChar[T <: Char]: Liftable[T] = liftAsLiteral[T]
override implicit def liftInt[T <: Int]: Liftable[T] = liftAsLiteral[T]
override implicit def liftLong[T <: Long]: Liftable[T] = liftAsLiteral[T]
override implicit def liftFloat[T <: Float]: Liftable[T] = liftAsLiteral[T]
override implicit def liftDouble[T <: Double]: Liftable[T] = liftAsLiteral[T]
override implicit def liftBoolean[T <: Boolean]: Liftable[T] = liftAsLiteral[T]
override implicit def liftUnit: Liftable[Unit] = liftAsLiteral[Unit]
override implicit def liftString[T <: String]: Liftable[T] = liftAsLiteral[T]
override implicit def liftScalaSymbol: Liftable[scala.Symbol] = Liftable { v =>
callScala(stdnme.Symbol)(Literal(Constant(v.name)) :: Nil)
}
override implicit def liftTree[T <: U#Tree]: Liftable[T] = Liftable { tree => tree.asInstanceOf[u.Tree] }
override implicit def liftName[T <: U#Name]: Liftable[T] = Liftable { name => Ident(name.asInstanceOf[u.Name]) }
override implicit def liftExpr[T <: U#Expr[_]]: Liftable[T] = Liftable { expr => expr.tree.asInstanceOf[u.Tree] }
override implicit def liftType[T <: U#Type]: Liftable[T] = Liftable { tpe => TypeTree(tpe.asInstanceOf[u.Type]) }
override implicit def liftTypeTag[T <: U#WeakTypeTag[_]]: Liftable[T] = Liftable { ttag => TypeTree(ttag.tpe.asInstanceOf[u.Type]) }
override implicit def liftConstant[T <: U#Constant]: Liftable[T] = Liftable { const => Literal(const.asInstanceOf[u.Constant]) }
override implicit def liftArray[T: U#Liftable]: Liftable[Array[T]] = Liftable { arr => callScala(stdnme.Array)(arr.map(lift(_)).toList) }
override implicit def liftVector[T: U#Liftable]: Liftable[Vector[T]] = Liftable { vect => callCollection(stdnme.Vector)(vect.map(lift(_)).toList) }
override implicit def liftList[T: U#Liftable]: Liftable[List[T]] = Liftable { lst => callCollection(stdnme.List)(lst.map(lift(_))) }
override implicit def liftNil: Liftable[Nil.type] = Liftable { _ => selectScala(stdnme.collection, stdnme.immutable, stdnme.Nil) }
override implicit def liftMap[K: U#Liftable, V: U#Liftable]: Liftable[Map[K, V]] = Liftable { m => callCollection(stdnme.Map)(m.toList.map(lift(_))) }
override implicit def liftSet[T: U#Liftable]: Liftable[Set[T]] = Liftable { s => callCollection(stdnme.Set)(s.toList.map(lift(_))) }
override implicit def liftSome[T: U#Liftable]: Liftable[Some[T]] = Liftable { case Some(v) => callScala(stdnme.Some)(lift(v) :: Nil) }
override implicit def liftNone: Liftable[None.type] = Liftable { _ => selectScala(stdnme.None) }
override implicit def liftOption[T: U#Liftable]: Liftable[Option[T]] = Liftable {
case some: Some[T] => lift(some)
case none: None.type => lift(none)
}
override implicit def liftLeft[L: U#Liftable, R]: Liftable[Left[L, R]] = Liftable { case Left(v) => callScala(stdnme.util, stdnme.Left)(lift(v) :: Nil) }
override implicit def liftRight[L, R: U#Liftable]: Liftable[Right[L, R]] = Liftable { case Right(v) => callScala(stdnme.util, stdnme.Right)(lift(v) :: Nil) }
override implicit def liftEither[L: U#Liftable, R: U#Liftable]: Liftable[Either[L, R]] = Liftable {
case left: Left[L, R] => lift(left)
case right: Right[L, R] => lift(right)
}
override implicit def liftTuple2[T1, T2](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2]): Liftable[Tuple2[T1, T2]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple3[T1, T2, T3](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3]): Liftable[Tuple3[T1, T2, T3]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple4[T1, T2, T3, T4](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4]): Liftable[Tuple4[T1, T2, T3, T4]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple5[T1, T2, T3, T4, T5](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5]): Liftable[Tuple5[T1, T2, T3, T4, T5]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple6[T1, T2, T3, T4, T5, T6](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6]): Liftable[Tuple6[T1, T2, T3, T4, T5, T6]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple7[T1, T2, T3, T4, T5, T6, T7](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7]): Liftable[Tuple7[T1, T2, T3, T4, T5, T6, T7]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: liftT7(t._7) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple8[T1, T2, T3, T4, T5, T6, T7, T8](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8]): Liftable[Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: liftT7(t._7) :: liftT8(t._8) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9]): Liftable[Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: liftT7(t._7) :: liftT8(t._8) :: liftT9(t._9) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10]): Liftable[Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: liftT7(t._7) :: liftT8(t._8) :: liftT9(t._9) :: liftT10(t._10) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11]): Liftable[Tuple11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: liftT7(t._7) :: liftT8(t._8) :: liftT9(t._9) :: liftT10(t._10) :: liftT11(t._11) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12]): Liftable[Tuple12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: liftT7(t._7) :: liftT8(t._8) :: liftT9(t._9) :: liftT10(t._10) :: liftT11(t._11) :: liftT12(t._12) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13]): Liftable[Tuple13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: liftT7(t._7) :: liftT8(t._8) :: liftT9(t._9) :: liftT10(t._10) :: liftT11(t._11) :: liftT12(t._12) :: liftT13(t._13) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14]): Liftable[Tuple14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: liftT7(t._7) :: liftT8(t._8) :: liftT9(t._9) :: liftT10(t._10) :: liftT11(t._11) :: liftT12(t._12) :: liftT13(t._13) :: liftT14(t._14) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14], liftT15: U#Liftable[T15]): Liftable[Tuple15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: liftT7(t._7) :: liftT8(t._8) :: liftT9(t._9) :: liftT10(t._10) :: liftT11(t._11) :: liftT12(t._12) :: liftT13(t._13) :: liftT14(t._14) :: liftT15(t._15) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14], liftT15: U#Liftable[T15], liftT16: U#Liftable[T16]): Liftable[Tuple16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: liftT7(t._7) :: liftT8(t._8) :: liftT9(t._9) :: liftT10(t._10) :: liftT11(t._11) :: liftT12(t._12) :: liftT13(t._13) :: liftT14(t._14) :: liftT15(t._15) :: liftT16(t._16) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14], liftT15: U#Liftable[T15], liftT16: U#Liftable[T16], liftT17: U#Liftable[T17]): Liftable[Tuple17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: liftT7(t._7) :: liftT8(t._8) :: liftT9(t._9) :: liftT10(t._10) :: liftT11(t._11) :: liftT12(t._12) :: liftT13(t._13) :: liftT14(t._14) :: liftT15(t._15) :: liftT16(t._16) :: liftT17(t._17) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14], liftT15: U#Liftable[T15], liftT16: U#Liftable[T16], liftT17: U#Liftable[T17], liftT18: U#Liftable[T18]): Liftable[Tuple18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: liftT7(t._7) :: liftT8(t._8) :: liftT9(t._9) :: liftT10(t._10) :: liftT11(t._11) :: liftT12(t._12) :: liftT13(t._13) :: liftT14(t._14) :: liftT15(t._15) :: liftT16(t._16) :: liftT17(t._17) :: liftT18(t._18) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14], liftT15: U#Liftable[T15], liftT16: U#Liftable[T16], liftT17: U#Liftable[T17], liftT18: U#Liftable[T18], liftT19: U#Liftable[T19]): Liftable[Tuple19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: liftT7(t._7) :: liftT8(t._8) :: liftT9(t._9) :: liftT10(t._10) :: liftT11(t._11) :: liftT12(t._12) :: liftT13(t._13) :: liftT14(t._14) :: liftT15(t._15) :: liftT16(t._16) :: liftT17(t._17) :: liftT18(t._18) :: liftT19(t._19) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14], liftT15: U#Liftable[T15], liftT16: U#Liftable[T16], liftT17: U#Liftable[T17], liftT18: U#Liftable[T18], liftT19: U#Liftable[T19], liftT20: U#Liftable[T20]): Liftable[Tuple20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: liftT7(t._7) :: liftT8(t._8) :: liftT9(t._9) :: liftT10(t._10) :: liftT11(t._11) :: liftT12(t._12) :: liftT13(t._13) :: liftT14(t._14) :: liftT15(t._15) :: liftT16(t._16) :: liftT17(t._17) :: liftT18(t._18) :: liftT19(t._19) :: liftT20(t._20) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14], liftT15: U#Liftable[T15], liftT16: U#Liftable[T16], liftT17: U#Liftable[T17], liftT18: U#Liftable[T18], liftT19: U#Liftable[T19], liftT20: U#Liftable[T20], liftT21: U#Liftable[T21]): Liftable[Tuple21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: liftT7(t._7) :: liftT8(t._8) :: liftT9(t._9) :: liftT10(t._10) :: liftT11(t._11) :: liftT12(t._12) :: liftT13(t._13) :: liftT14(t._14) :: liftT15(t._15) :: liftT16(t._16) :: liftT17(t._17) :: liftT18(t._18) :: liftT19(t._19) :: liftT20(t._20) :: liftT21(t._21) :: Nil).asInstanceOf[u.Tree]
}
override implicit def liftTuple22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22](implicit liftT1: U#Liftable[T1], liftT2: U#Liftable[T2], liftT3: U#Liftable[T3], liftT4: U#Liftable[T4], liftT5: U#Liftable[T5], liftT6: U#Liftable[T6], liftT7: U#Liftable[T7], liftT8: U#Liftable[T8], liftT9: U#Liftable[T9], liftT10: U#Liftable[T10], liftT11: U#Liftable[T11], liftT12: U#Liftable[T12], liftT13: U#Liftable[T13], liftT14: U#Liftable[T14], liftT15: U#Liftable[T15], liftT16: U#Liftable[T16], liftT17: U#Liftable[T17], liftT18: U#Liftable[T18], liftT19: U#Liftable[T19], liftT20: U#Liftable[T20], liftT21: U#Liftable[T21], liftT22: U#Liftable[T22]): Liftable[Tuple22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22]] = Liftable { t =>
SyntacticTuple(liftT1(t._1) :: liftT2(t._2) :: liftT3(t._3) :: liftT4(t._4) :: liftT5(t._5) :: liftT6(t._6) :: liftT7(t._7) :: liftT8(t._8) :: liftT9(t._9) :: liftT10(t._10) :: liftT11(t._11) :: liftT12(t._12) :: liftT13(t._13) :: liftT14(t._14) :: liftT15(t._15) :: liftT16(t._16) :: liftT17(t._17) :: liftT18(t._18) :: liftT19(t._19) :: liftT20(t._20) :: liftT21(t._21) :: liftT22(t._22) :: Nil).asInstanceOf[u.Tree]
}
}
trait StandardUnliftableImpl extends StandardUnliftableApi { self: ReificationSupportImpl =>
import u._, definitions._, Flag._
private object Unliftable {
def apply[T](pf: PartialFunction[Tree, T]): Unliftable[T] = new Unliftable[T] {
def unapply(value: Tree): Option[T] = pf.lift(value)
}
}
private def unliftPrimitive[Unboxed: ClassTag, Boxed: ClassTag] = Unliftable[Unboxed] {
case Literal(Constant(value))
if value.getClass == implicitly[ClassTag[Boxed]].runtimeClass
|| value.getClass == implicitly[ClassTag[Unboxed]].runtimeClass =>
value.asInstanceOf[Unboxed]
}
override implicit def unliftByte: Unliftable[Byte] = unliftPrimitive[Byte, java.lang.Byte]
override implicit def unliftShort: Unliftable[Short] = unliftPrimitive[Short, java.lang.Short]
override implicit def unliftChar: Unliftable[Char] = unliftPrimitive[Char, java.lang.Character]
override implicit def unliftInt: Unliftable[Int] = unliftPrimitive[Int, java.lang.Integer]
override implicit def unliftLong: Unliftable[Long] = unliftPrimitive[Long, java.lang.Long]
override implicit def unliftFloat: Unliftable[Float] = unliftPrimitive[Float, java.lang.Float]
override implicit def unliftDouble: Unliftable[Double] = unliftPrimitive[Double, java.lang.Double]
override implicit def unliftBoolean: Unliftable[Boolean] = unliftPrimitive[Boolean, java.lang.Boolean]
override implicit def unliftUnit: Unliftable[Unit] = unliftPrimitive[Unit, scala.runtime.BoxedUnit]
override implicit def unliftString: Unliftable[String] = Unliftable { case Literal(Constant(s: String)) => s }
override implicit def unliftScalaSymbol: Unliftable[scala.Symbol] = Unliftable {
case Apply(ScalaDot(stdnme.Symbol), List(Literal(Constant(name: String)))) => scala.Symbol(name)
}
override implicit def unliftName[T <: U#Name : ClassTag]: Unliftable[T] = Unliftable[T] { case Ident(name: T) => name; case Bind(name: T, Ident(stdnme.WILDCARD)) => name }
override implicit def unliftType: Unliftable[U#Type] = Unliftable[U#Type] { case tt: TypeTree if tt.tpe != null => tt.tpe }
override implicit def unliftConstant: Unliftable[U#Constant] = Unliftable[U#Constant] { case Literal(const) => const }
override implicit def unliftTuple2[T1, T2](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2]): Unliftable[Tuple2[T1, T2]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: Nil) => Tuple2(v1, v2)
}
override implicit def unliftTuple3[T1, T2, T3](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3]): Unliftable[Tuple3[T1, T2, T3]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: Nil) => Tuple3(v1, v2, v3)
}
override implicit def unliftTuple4[T1, T2, T3, T4](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4]): Unliftable[Tuple4[T1, T2, T3, T4]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: Nil) => Tuple4(v1, v2, v3, v4)
}
override implicit def unliftTuple5[T1, T2, T3, T4, T5](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5]): Unliftable[Tuple5[T1, T2, T3, T4, T5]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: Nil) => Tuple5(v1, v2, v3, v4, v5)
}
override implicit def unliftTuple6[T1, T2, T3, T4, T5, T6](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6]): Unliftable[Tuple6[T1, T2, T3, T4, T5, T6]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: Nil) => Tuple6(v1, v2, v3, v4, v5, v6)
}
override implicit def unliftTuple7[T1, T2, T3, T4, T5, T6, T7](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7]): Unliftable[Tuple7[T1, T2, T3, T4, T5, T6, T7]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: unliftT7(v7) :: Nil) => Tuple7(v1, v2, v3, v4, v5, v6, v7)
}
override implicit def unliftTuple8[T1, T2, T3, T4, T5, T6, T7, T8](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8]): Unliftable[Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: unliftT7(v7) :: unliftT8(v8) :: Nil) => Tuple8(v1, v2, v3, v4, v5, v6, v7, v8)
}
override implicit def unliftTuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9]): Unliftable[Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: unliftT7(v7) :: unliftT8(v8) :: unliftT9(v9) :: Nil) => Tuple9(v1, v2, v3, v4, v5, v6, v7, v8, v9)
}
override implicit def unliftTuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10]): Unliftable[Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: unliftT7(v7) :: unliftT8(v8) :: unliftT9(v9) :: unliftT10(v10) :: Nil) => Tuple10(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10)
}
override implicit def unliftTuple11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11]): Unliftable[Tuple11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: unliftT7(v7) :: unliftT8(v8) :: unliftT9(v9) :: unliftT10(v10) :: unliftT11(v11) :: Nil) => Tuple11(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11)
}
override implicit def unliftTuple12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12]): Unliftable[Tuple12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: unliftT7(v7) :: unliftT8(v8) :: unliftT9(v9) :: unliftT10(v10) :: unliftT11(v11) :: unliftT12(v12) :: Nil) => Tuple12(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12)
}
override implicit def unliftTuple13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13]): Unliftable[Tuple13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: unliftT7(v7) :: unliftT8(v8) :: unliftT9(v9) :: unliftT10(v10) :: unliftT11(v11) :: unliftT12(v12) :: unliftT13(v13) :: Nil) => Tuple13(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13)
}
override implicit def unliftTuple14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14]): Unliftable[Tuple14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: unliftT7(v7) :: unliftT8(v8) :: unliftT9(v9) :: unliftT10(v10) :: unliftT11(v11) :: unliftT12(v12) :: unliftT13(v13) :: unliftT14(v14) :: Nil) => Tuple14(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14)
}
override implicit def unliftTuple15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14], unliftT15: U#Unliftable[T15]): Unliftable[Tuple15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: unliftT7(v7) :: unliftT8(v8) :: unliftT9(v9) :: unliftT10(v10) :: unliftT11(v11) :: unliftT12(v12) :: unliftT13(v13) :: unliftT14(v14) :: unliftT15(v15) :: Nil) => Tuple15(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15)
}
override implicit def unliftTuple16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14], unliftT15: U#Unliftable[T15], unliftT16: U#Unliftable[T16]): Unliftable[Tuple16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: unliftT7(v7) :: unliftT8(v8) :: unliftT9(v9) :: unliftT10(v10) :: unliftT11(v11) :: unliftT12(v12) :: unliftT13(v13) :: unliftT14(v14) :: unliftT15(v15) :: unliftT16(v16) :: Nil) => Tuple16(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16)
}
override implicit def unliftTuple17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14], unliftT15: U#Unliftable[T15], unliftT16: U#Unliftable[T16], unliftT17: U#Unliftable[T17]): Unliftable[Tuple17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: unliftT7(v7) :: unliftT8(v8) :: unliftT9(v9) :: unliftT10(v10) :: unliftT11(v11) :: unliftT12(v12) :: unliftT13(v13) :: unliftT14(v14) :: unliftT15(v15) :: unliftT16(v16) :: unliftT17(v17) :: Nil) => Tuple17(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17)
}
override implicit def unliftTuple18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14], unliftT15: U#Unliftable[T15], unliftT16: U#Unliftable[T16], unliftT17: U#Unliftable[T17], unliftT18: U#Unliftable[T18]): Unliftable[Tuple18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: unliftT7(v7) :: unliftT8(v8) :: unliftT9(v9) :: unliftT10(v10) :: unliftT11(v11) :: unliftT12(v12) :: unliftT13(v13) :: unliftT14(v14) :: unliftT15(v15) :: unliftT16(v16) :: unliftT17(v17) :: unliftT18(v18) :: Nil) => Tuple18(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18)
}
override implicit def unliftTuple19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14], unliftT15: U#Unliftable[T15], unliftT16: U#Unliftable[T16], unliftT17: U#Unliftable[T17], unliftT18: U#Unliftable[T18], unliftT19: U#Unliftable[T19]): Unliftable[Tuple19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: unliftT7(v7) :: unliftT8(v8) :: unliftT9(v9) :: unliftT10(v10) :: unliftT11(v11) :: unliftT12(v12) :: unliftT13(v13) :: unliftT14(v14) :: unliftT15(v15) :: unliftT16(v16) :: unliftT17(v17) :: unliftT18(v18) :: unliftT19(v19) :: Nil) => Tuple19(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19)
}
override implicit def unliftTuple20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14], unliftT15: U#Unliftable[T15], unliftT16: U#Unliftable[T16], unliftT17: U#Unliftable[T17], unliftT18: U#Unliftable[T18], unliftT19: U#Unliftable[T19], unliftT20: U#Unliftable[T20]): Unliftable[Tuple20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: unliftT7(v7) :: unliftT8(v8) :: unliftT9(v9) :: unliftT10(v10) :: unliftT11(v11) :: unliftT12(v12) :: unliftT13(v13) :: unliftT14(v14) :: unliftT15(v15) :: unliftT16(v16) :: unliftT17(v17) :: unliftT18(v18) :: unliftT19(v19) :: unliftT20(v20) :: Nil) => Tuple20(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20)
}
override implicit def unliftTuple21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14], unliftT15: U#Unliftable[T15], unliftT16: U#Unliftable[T16], unliftT17: U#Unliftable[T17], unliftT18: U#Unliftable[T18], unliftT19: U#Unliftable[T19], unliftT20: U#Unliftable[T20], unliftT21: U#Unliftable[T21]): Unliftable[Tuple21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: unliftT7(v7) :: unliftT8(v8) :: unliftT9(v9) :: unliftT10(v10) :: unliftT11(v11) :: unliftT12(v12) :: unliftT13(v13) :: unliftT14(v14) :: unliftT15(v15) :: unliftT16(v16) :: unliftT17(v17) :: unliftT18(v18) :: unliftT19(v19) :: unliftT20(v20) :: unliftT21(v21) :: Nil) => Tuple21(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21)
}
override implicit def unliftTuple22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22](implicit unliftT1: U#Unliftable[T1], unliftT2: U#Unliftable[T2], unliftT3: U#Unliftable[T3], unliftT4: U#Unliftable[T4], unliftT5: U#Unliftable[T5], unliftT6: U#Unliftable[T6], unliftT7: U#Unliftable[T7], unliftT8: U#Unliftable[T8], unliftT9: U#Unliftable[T9], unliftT10: U#Unliftable[T10], unliftT11: U#Unliftable[T11], unliftT12: U#Unliftable[T12], unliftT13: U#Unliftable[T13], unliftT14: U#Unliftable[T14], unliftT15: U#Unliftable[T15], unliftT16: U#Unliftable[T16], unliftT17: U#Unliftable[T17], unliftT18: U#Unliftable[T18], unliftT19: U#Unliftable[T19], unliftT20: U#Unliftable[T20], unliftT21: U#Unliftable[T21], unliftT22: U#Unliftable[T22]): Unliftable[Tuple22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22]] = Unliftable {
case SyntacticTuple(unliftT1(v1) :: unliftT2(v2) :: unliftT3(v3) :: unliftT4(v4) :: unliftT5(v5) :: unliftT6(v6) :: unliftT7(v7) :: unliftT8(v8) :: unliftT9(v9) :: unliftT10(v10) :: unliftT11(v11) :: unliftT12(v12) :: unliftT13(v13) :: unliftT14(v14) :: unliftT15(v15) :: unliftT16(v16) :: unliftT17(v17) :: unliftT18(v18) :: unliftT19(v19) :: unliftT20(v20) :: unliftT21(v21) :: unliftT22(v22) :: Nil) => Tuple22(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22)
}
}
private object stdnme {
val Array = u.newTermName("Array")
val collection = u.newTermName("collection")
val immutable = u.newTermName("immutable")
val Left = u.newTermName("Left")
val List = u.newTermName("List")
val Map = u.newTermName("Map")
val None = u.newTermName("None")
val Nil = u.newTermName("Nil")
val Right = u.newTermName("Right")
val Set = u.newTermName("Set")
val Some = u.newTermName("Some")
val Symbol = u.newTermName("Symbol")
val util = u.newTermName("util")
val Vector = u.newTermName("Vector")
val WILDCARD = u.nme.WILDCARD
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy