scala.tools.nsc.typechecker.Tags
Finds in scope or materializes a ClassTag.
Finds in scope or materializes a ClassTag. Should be used instead of ClassManifest every time compiler needs to persist an erasure.
Once upon a time, we had an ErasureTag
which was to ClassTag
the same that WeakTypeTag
is for TypeTag
.
However we found out that we don't really need this concept, so it got removed.
Position for error reporting. Please, provide meaningful value.
Type we're looking a ClassTag for, e.g. resolveClassTag(pos, IntClass.tpe) will look for ClassTag[Int].
If true (default) then the resolver is allowed to launch materialization macros when there's no class tag in scope. If false then materialization macros are prohibited from running.
Finds in scope or materializes an WeakTypeTag (if concrete
is false) or a TypeTag (if concrete
is true).
Finds in scope or materializes an WeakTypeTag (if concrete
is false) or a TypeTag (if concrete
is true).
Position for error reporting. Please, provide meaningful value.
Prefix that represents a universe this type tag will be bound to.
If pre
is set to NoType
, then any type tag in scope will do, regardless of its affiliation.
If pre
is set to NoType
, and tag resolution involves materialization, then mkRuntimeUniverseRef
will be used.
Type we're looking a TypeTag for, e.g. resolveTypeTag(pos, mkRuntimeUniverseRef, IntClass.tpe, false) will look for scala.reflect.runtime.universe.TypeTag[Int].
If true then the result must not contain unresolved (i.e. not spliced) type parameters and abstract type members. If false then the function will always succeed (abstract types will be reified as free types).
If true (default) then the resolver is allowed to launch materialization macros when there's no type tag in scope. If false then materialization macros are prohibited from running.
(tag: StringAdd).self
(tag: StringFormat).self
(tag: ArrowAssoc[Analyzer.Tag]).x
(Since version 2.10.0) Use leftOfArrow
instead
(tag: Ensuring[Analyzer.Tag]).x
(Since version 2.10.0) Use resultOfEnsuring
instead