io.github.iltotore.iron.macros

Members list

Type members

Classlikes

class ReflectUtil[Q <: Quotes & Singleton](using val _quotes: Q)

Low AST related utils.

Low AST related utils.

Type parameters

Q

the type of _quotes to ensure the path is valid to import.

Value parameters

_quotes

the metaprogramming information

Attributes

Source
ReflectUtil.scala
Supertypes
class Object
trait Matchable
class Any
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
transparent inline def reflectUtil[Q <: Quotes & Singleton](using inline q: Q): ReflectUtil[Q]

Low AST related utils.

Low AST related utils.

Type parameters

Q

the type of _quotes to ensure the path is valid to import.

Value parameters

q

the metaprogramming information

Attributes

Source
ReflectUtil.scala