t

scalan.primitives

RewriteRules

trait RewriteRules extends Base

Self Type
ScalanEx
Linear Supertypes
Base, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RewriteRules
  2. Base
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract class BaseDef[+T] extends Scalan.Node with Scalan.Def[T]
    Definition Classes
    Base
  2. abstract class CompanionDef[T] extends Scalan.Node with Scalan.Def[T]
    Definition Classes
    Base
  3. case class Const[T] extends Scalan.BaseDef[T] with Product with Serializable
    Definition Classes
    Base
  4. trait Def[+T] extends Scalan.Node
    Definition Classes
    Base
  5. class EntityObject extends AnyRef
    Definition Classes
    Base
  6. case class EntityObjectOwner extends Scalan.OwnerKind with Product with Serializable
    Definition Classes
    Base
  7. abstract class Node extends Product
    Definition Classes
    Base
  8. class NotImplementedStagingException extends Scalan.StagingException
    Definition Classes
    Base
  9. sealed abstract class OwnerKind extends AnyRef
    Definition Classes
    Base
  10. case class PatternRewriteRule[A](lhs: ScalanEx.Ref[A], rhs: ScalanEx.Ref[A], eA: ScalanEx.Elem[A]) extends ScalanEx.RewriteRule[A] with Product with Serializable
  11. case class Placeholder[T] extends Scalan.Node with Scalan.Def[T] with Product with Serializable
    Definition Classes
    Base
  12. implicit class PropEqualityOps[A] extends AnyRef
  13. type RFunc[-A, +B] = ScalanEx.Ref[(A) ⇒ B]
    Definition Classes
    Base
  14. type RPair[+A, +B] = ScalanEx.Ref[(A, B)]
    Definition Classes
    Base
  15. type RRewrite[A] = ScalanEx.Ref[ScalanEx.Rewrite[A]]
  16. abstract class Ref[+T] extends AnyRef
    Definition Classes
    Base
  17. case class Rewrite[A](lhs: ScalanEx.Ref[A], rhs: ScalanEx.Ref[A]) extends Product with Serializable
  18. case class RewriteElem[A](eA: ScalanEx.Elem[A]) extends ScalanEx.Elem[ScalanEx.Rewrite[A]] with Product with Serializable
  19. case class RewriteOp[A]()(implicit evidence$1: ScalanEx.Elem[A]) extends ScalanEx.BinOp[A, ScalanEx.Rewrite[A]] with Product with Serializable
  20. trait RewriteRule[A] extends AnyRef
  21. class RulesRewriter extends ScalanEx.Rewriter
  22. final class SingleRef[+T] extends Scalan.Ref[T]
    Definition Classes
    Base
  23. class StagingException extends RuntimeException
    Definition Classes
    Base
  24. type Sym = ScalanEx.Ref[_]
    Definition Classes
    Base
  25. abstract class Transformer extends AnyRef
    Definition Classes
    Base
  26. case class Variable[T] extends Scalan.Node with Scalan.Def[T] with Product with Serializable
    Definition Classes
    Base
  27. type |[+A, +B] = Either[A, B]
    Definition Classes
    Base

Value Members

  1. def !!!(msg: String, e: Throwable, syms: ScalanEx.Ref[_]*): Nothing
    Definition Classes
    Base
  2. def !!!(msg: String, syms: ScalanEx.Ref[_]*): Nothing
    Definition Classes
    Base
  3. def !!!: Nothing
    Definition Classes
    Base
  4. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. final def ##(): Int
    Definition Classes
    AnyRef → Any
  6. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  7. def ???(value: Any, syms: ScalanEx.Ref[_]*): Nothing
    Definition Classes
    Base
  8. def ???: Nothing
    Definition Classes
    Base
  9. final def IntZero: ScalanEx.Ref[Int]
    Definition Classes
    Base
    Annotations
    @inline()
  10. def addRewriteRules(rules: ScalanEx.RewriteRule[_]*): Unit
  11. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  12. final def asRep[T](x: ScalanEx.Ref[_]): ScalanEx.Ref[T]
    Definition Classes
    Base
    Annotations
    @inline()
  13. val cacheElems: Boolean
    Definition Classes
    Base
  14. val cachePairs: Boolean
    Definition Classes
    Base
  15. def cachedElem[E <: ScalanEx.Elem[_]](args: AnyRef*)(implicit tag: ClassTag[E]): E
  16. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  17. def createDefinition[T](optScope: Nullable[ScalanEx.ThunkScope], s: ScalanEx.Ref[T], d: ScalanEx.Def[T]): ScalanEx.Ref[T]
    Attributes
    protected
    Definition Classes
    Base
  18. val debugModeSanityChecks: Boolean
    Definition Classes
    Base
  19. def defCount: Int
    Definition Classes
    Base
  20. def def_unapply[T](e: ScalanEx.Ref[T]): Nullable[ScalanEx.Def[T]]
    Definition Classes
    Base
  21. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  23. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. def findGlobalDefinition[T](d: ScalanEx.Def[T]): ScalanEx.Ref[T]
    Definition Classes
    Base
  25. def findOrCreateDefinition[T](d: ScalanEx.Def[T], newSym: ⇒ ScalanEx.Ref[T]): ScalanEx.Ref[T]
    Definition Classes
    Base
  26. final def freshId: Int
    Definition Classes
    Base
    Annotations
    @inline()
  27. final def freshSym[T](d: ScalanEx.Def[T]): ScalanEx.Ref[T]
    Definition Classes
    Base
    Annotations
    @inline()
  28. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  29. def getEntityObject(name: String): Nullable[ScalanEx.EntityObject]
    Definition Classes
    Base
    Annotations
    @inline()
  30. def getOwnerKind(constructor: java.lang.reflect.Constructor[_]): ScalanEx.OwnerKind
    Attributes
    protected
    Definition Classes
    Base
  31. final def getSym(id: Int): ScalanEx.Sym
    Definition Classes
    Base
    Annotations
    @inline()
  32. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  33. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  34. implicit def liftToRep[A](x: A)(implicit arg0: ScalanEx.Elem[A]): ScalanEx.Ref[A]
    Definition Classes
    Base
    Annotations
    @inline()
  35. def logWarn(msg: ⇒ String): Unit
    Definition Classes
    Base
  36. def mkRewrite[A](x: ScalanEx.Ref[A], y: ScalanEx.Ref[A]): ScalanEx.Ref[ScalanEx.Rewrite[A]]
  37. val nInitialDefs: Int
    Definition Classes
    Base
  38. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  39. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  40. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  41. def onReset(): Unit
    Attributes
    protected
    Definition Classes
    Base
  42. def patternRewriteRule[A](rewrite: ScalanEx.RRewrite[A]): ScalanEx.PatternRewriteRule[A]
  43. def placeholder[T](implicit eT: ScalanEx.LElem[T]): ScalanEx.Ref[T]
    Definition Classes
    Base
    Annotations
    @inline()
  44. def postulate[A, B, C, R](p: (ScalanEx.Ref[A], ScalanEx.Ref[B], ScalanEx.Ref[C]) ⇒ ScalanEx.RRewrite[R])(implicit arg0: ScalanEx.Elem[A], arg1: ScalanEx.Elem[B], arg2: ScalanEx.Elem[C]): ScalanEx.RRewrite[R]
  45. def postulate[A, B, R](p: (ScalanEx.Ref[A], ScalanEx.Ref[B]) ⇒ ScalanEx.RRewrite[R])(implicit arg0: ScalanEx.Elem[A], arg1: ScalanEx.Elem[B]): ScalanEx.RRewrite[R]
  46. def postulate[A, R](p: (ScalanEx.Ref[A]) ⇒ ScalanEx.RRewrite[R])(implicit arg0: ScalanEx.Elem[A]): ScalanEx.RRewrite[R]
  47. def registerEntityObject(name: String, obj: ScalanEx.EntityObject): Unit
    Attributes
    protected
    Definition Classes
    Base
  48. implicit def reifyObject[A](obj: ScalanEx.Def[A]): ScalanEx.Ref[A]
    Definition Classes
    Base
  49. def removeRewriteRules(rules: ScalanEx.RewriteRule[_]*): Unit
  50. def resetContext(): Unit
    Definition Classes
    Base
  51. def rewrite[T](s: ScalanEx.Ref[T]): ScalanEx.Sym

    This is default implementation which delegates to global rewrite rules.

    This is default implementation which delegates to global rewrite rules. However, this can be overriden, as it is done in RewriteRules.

  52. implicit def rewriteElement[A](implicit eA: ScalanEx.Elem[A]): ScalanEx.Elem[ScalanEx.Rewrite[A]]
  53. val rewriteRules: List[ScalanEx.RewriteRule[_]]
  54. def rewriteWithRules[T](rules: List[ScalanEx.RewriteRule[_]])(s: ScalanEx.Ref[T]): ScalanEx.Sym
  55. def stagingExceptionMessage(message: String, syms: Seq[ScalanEx.Ref[_]]): String
    Attributes
    protected
    Definition Classes
    Base
  56. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  57. def toExp[T](d: ScalanEx.Def[T], newSym: ⇒ ScalanEx.Ref[T]): ScalanEx.Ref[T]
    Attributes
    protected[scalan]
    Definition Classes
    Base
  58. def toRep[A](x: A)(implicit eA: ScalanEx.Elem[A]): ScalanEx.Ref[A]
    Definition Classes
    Base
  59. def toString(): String
    Definition Classes
    AnyRef → Any
  60. def transformProductParam(x: Any, t: ScalanEx.Transformer): Any
    Attributes
    protected
    Definition Classes
    Base
  61. final def updateSymbolTable[T](s: ScalanEx.Ref[T], d: ScalanEx.Def[T]): ScalanEx.Ref[T]
    Definition Classes
    Base
  62. final def valueFromRep[A](x: ScalanEx.Ref[A]): A
    Definition Classes
    Base
    Annotations
    @inline()
  63. def variable[T](implicit eT: ScalanEx.LElem[T]): ScalanEx.Ref[T]
    Definition Classes
    Base
    Annotations
    @inline()
  64. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  65. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  66. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  67. object Def
    Definition Classes
    Base
  68. object Liftables
    Definition Classes
    Base

Inherited from Base

Inherited from AnyRef

Inherited from Any

Ungrouped