trait ScalaLogic extends Interface with Logic with TreeAndTypeAnalysis
- Alphabetic
- By Inheritance
- ScalaLogic
- TreeAndTypeAnalysis
- Logic
- Debugging
- Interface
- TreeDSL
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Type Members
- trait MatchMonadInterface extends AnyRef
- Definition Classes
- Interface
- trait TypedSubstitution extends MatchMonadInterface
- Definition Classes
- Interface
- trait PropositionalLogic extends AnyRef
- Definition Classes
- Logic
- trait TreesAndTypesDomain extends PropositionalLogic with CheckableTreeAndTypeAnalysis
- trait CheckableTreeAndTypeAnalysis extends AnyRef
- Definition Classes
- TreeAndTypeAnalysis
Concrete Value Members
- object CODE
- Definition Classes
- TreeDSL
- object debug
- Definition Classes
- Debugging
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from ScalaLogic toany2stringadd[ScalaLogic] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (ScalaLogic, B)
- Implicit
- This member is added by an implicit conversion from ScalaLogic toArrowAssoc[ScalaLogic] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def alignAcrossRows(xss: List[List[Any]], sep: String, lineSep: String = "\n"): String
- Definition Classes
- Logic
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def binderTypeImpliedByPattern(pat: Global.Tree, pt: Global.Type): Global.Type
Compute the type T implied for a value
v
matched by a patternpat
(with expected typept
).Compute the type T implied for a value
v
matched by a patternpat
(with expected typept
).Usually, this is the pattern's type because pattern matching implies instance-of checks.
However, Stable Identifier and Literal patterns are matched using
==
, which does not imply a type for the binder that binds the matched value. E.g., incase x@Nil => x
, all we know aboutx
is that it satisfiesNil == x
, which could be anything. A type pattern with a literal type works the same as the corresponding literal pattern. A literal pattern with a Boolean or Unit pattern does enforce that the respective value (true
,false
,()
) was matched, so in those cases, the pattern type is assumed.The other patterns imply type tests, so we can safely deduce that the binder has the pattern's type when the pattern matches. Concretely, a literal, type pattern, a case class (the constructor's result type) or extractor (the unapply's argument type) all imply type tests.
See scala/bug#1503, scala/bug#5024: don't cast binders to types we're not sure they have
- Definition Classes
- TreeAndTypeAnalysis
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def ensuring(cond: (ScalaLogic) => Boolean, msg: => Any): ScalaLogic
- Implicit
- This member is added by an implicit conversion from ScalaLogic toEnsuring[ScalaLogic] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (ScalaLogic) => Boolean): ScalaLogic
- Implicit
- This member is added by an implicit conversion from ScalaLogic toEnsuring[ScalaLogic] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): ScalaLogic
- Implicit
- This member is added by an implicit conversion from ScalaLogic toEnsuring[ScalaLogic] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): ScalaLogic
- Implicit
- This member is added by an implicit conversion from ScalaLogic toEnsuring[ScalaLogic] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def equivalentTree(a: Global.Tree, b: Global.Tree): Boolean
- Definition Classes
- TreeAndTypeAnalysis
- 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()
- def instanceOfTpImplies(tp: Global.Type, tpImplied: Global.Type): Boolean
- Definition Classes
- TreeAndTypeAnalysis
- 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()
Deprecated Value Members
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from ScalaLogic toStringFormat[ScalaLogic] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (ScalaLogic, B)
- Implicit
- This member is added by an implicit conversion from ScalaLogic toArrowAssoc[ScalaLogic] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.
The Scala compiler and reflection APIs.