io.github.iltotore.iron.macros

Members list

Type members

Classlikes

object given_FromExpr_Boolean extends FromExpr[Boolean]

A FromExpr[Boolean] that can extract value from partially inlined || and && operations.

A FromExpr[Boolean] that can extract value from partially inlined || and && operations.

 inline val x = true
 val y: Boolean = ???

 x || y //inlined to `true`
 y || x //inlined to `true`

 inline val a = false
 val b: Boolean = ???

 a && b //inlined to `false`
 b && a //inlined to `false`

Attributes

Source
package.scala
Supertypes
trait FromExpr[Boolean]
class Object
trait Matchable
class Any
Self type
object given_FromExpr_String extends FromExpr[String]

A FromExpr[String] that can extract value from concatenated strings if all arguments are compile-time-extractable strings.

A FromExpr[String] that can extract value from concatenated strings if all arguments are compile-time-extractable strings.

 inline val x = "a"
 inline val y = "b"
 val z = "c"

 x + y //"ab"
 x + z //None
 z + x //None

Attributes

Source
package.scala
Supertypes
trait FromExpr[String]
class Object
trait Matchable
class Any
Self type
object intersection

Internal macros for intersection types

Internal macros for intersection types

Attributes

Source
intersection.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object union

Internal macros for union types

Internal macros for union types

Attributes

Source
union.scala
Supertypes
class Object
trait Matchable
class Any
Self type
union.type

Value members

Concrete methods

inline def assertCondition[A](inline input: A, inline cond: Boolean, inline message: String): Unit

Asserts at compile time if the given condition is true.

Asserts at compile time if the given condition is true.

Type parameters

A

the input type.

Value parameters

cond

the tested condition. Should be evaluable at compile time.

input

the tested input, used in the error message if the assertion fails.

message

the message/description of this assertion.

Attributes

Source
package.scala
def compileTimeError(msg: String)(using Quotes): Nothing

Attributes

Source
package.scala
inline def isConstant[A](inline value: A): Boolean

Checks if the given value is constant (aka evaluable at compile time).

Checks if the given value is constant (aka evaluable at compile time).

Type parameters

A

the type of value.

Value parameters

value

the value to test.

Attributes

Returns

true if the given value is constant, false otherwise.

Source
package.scala

Givens

Givens

A FromExpr[Boolean] that can extract value from partially inlined || and && operations.

A FromExpr[Boolean] that can extract value from partially inlined || and && operations.

 inline val x = true
 val y: Boolean = ???

 x || y //inlined to `true`
 y || x //inlined to `true`

 inline val a = false
 val b: Boolean = ???

 a && b //inlined to `false`
 b && a //inlined to `false`

Attributes

Source
package.scala

A FromExpr[String] that can extract value from concatenated strings if all arguments are compile-time-extractable strings.

A FromExpr[String] that can extract value from concatenated strings if all arguments are compile-time-extractable strings.

 inline val x = "a"
 inline val y = "b"
 val z = "c"

 x + y //"ab"
 x + z //None
 z + x //None

Attributes

Source
package.scala