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.
Inherited from TreeAndTypeAnalysis
Value Members
- 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 equivalentTree(a: Global.Tree, b: Global.Tree): Boolean
- Definition Classes
- TreeAndTypeAnalysis
- def instanceOfTpImplies(tp: Global.Type, tpImplied: Global.Type): Boolean
- Definition Classes
- TreeAndTypeAnalysis
Inherited from Logic
Inherited from AnyRef
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 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()
- 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()
Inherited from Any
Inherited by implicit conversion any2stringadd fromScalaLogic to any2stringadd[ScalaLogic]
Value Members
- 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
Inherited by implicit conversion StringFormat fromScalaLogic to StringFormat[ScalaLogic]
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.
Inherited by implicit conversion Ensuring fromScalaLogic to Ensuring[ScalaLogic]
Value Members
- 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
Inherited by implicit conversion ArrowAssoc fromScalaLogic to ArrowAssoc[ScalaLogic]
Value Members
- 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()
- 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.
Ungrouped
- 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
- abstract val global: Global
- Definition Classes
- Debugging
- 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()
- 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.