A function that checks the provided tree for illegal references to M instances defined in the expression passed to the macro and for illegal dereferencing of M instances.
Collects all definitions in the tree for use in checkReferences.
>: Nothing <: Any
Returns a Type representing the type constructor tcp.
Constructs a ValDef with a parameter modifier, a unique name, with the provided Type and with an empty rhs.
Constructs a unique term name with the given prefix within this Context.
Constructs a new, local ValDef with the given Type, a unique name,
the same position as
sym, and an empty implementation (no rhs).
The type representing the type constructor
A reference is illegal if it is to an M instance defined within the scope of the macro call.
Modifiers for a local val.
Constructs a ValDef with local modifiers and a unique name.
Returns the symbol for the non-private method named
name for the class/module
Constructs a tuple value of the right TupleN type from the provided inputs.
Constructs a new, synthetic type variable that is a type constructor.
Creates a new, synthetic type variable with the specified
Create a Tree that references the
val represented by
A Type that references the given type variable.
Returns the Symbol that references the statically accessible singleton
Substitutes wrappers in tree
t with the result of