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
- All
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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- 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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )