class FindUnexpressedInfixes extends AnyRef
The challenge with appeneding infixes (that have not been used but are still needed) back into the query, is that they could be inside of tuples/case-classes that have already been selected, or inside of sibling elements which have been selected. Take for instance a query that looks like this:
query[Person].map(p => (p.name, (p.id, infix"foo(${p.other})".as[Int]))).map(p => (p._1, p._2._1))
In this situation, p.id which is the sibling of the non-selected infix has been selected
via p._2._1 (whose select-order is List(1,0) to represent 1st element in 2nd tuple.
We need to add it's sibling infix.Or take the following situation:
query[Person].map(p => (p.name, (p.id, infix"foo(${p.other})".as[Int]))).map(p => (p._1, p._2))
In this case, we have selected the entire 2nd element including the infix. We need to know that
P._2._2 does not need to be selected since p._2 was.In order to do these things, we use the order property from OrderedSelect in order to see
which sub-sub-...-element has been selected. If p._2 (that has order List(1))
has been selected, we know that any infixes inside of it e.g. p._2._1 (ordering List(1,0))
does not need to be.
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- FindUnexpressedInfixes
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Instance Constructors
- new FindUnexpressedInfixes(select: List[OrderedSelect])
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply(refs: List[OrderedSelect]): List[OrderedSelect]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val interp: Interpolator
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()