Scala Compiler2.13.17 < Back


# Packages

-  package root

  The Scala compiler and reflection APIs.

  The Scala compiler and reflection APIs.

  Definition Classes
    root
-  package scala
  Definition Classes
    root
-  package tools
  Definition Classes
    scala
-  package nsc
  Definition Classes
    tools
-  package typechecker
  Definition Classes
    nsc
-  trait Tags extends AnyRef
  Definition Classes
    typechecker
- Tag

t

scala.tools.nsc.typechecker.Tags

# Tag

###

#### trait Tag extends AnyRef

Self Type
  Analyzer.Typer
Source
  Tags.scala

Linear Supertypes
AnyRef, Any
Known Subclasses
typer, ScaladocTyper, InteractiveTyper, Eraser, BodyDuplicator, ImplicitSearch, TreeChecker, Typer, BodyDuplicator
Type Hierarchy

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. Tag
2. AnyRef
3. Any

Implicitly

1. by any2stringadd
2. by StringFormat
3. by Ensuring
4. by ArrowAssoc

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##: Int
   Definition Classes
     AnyRef → Any
3.  def +(other: String): String
   Implicit
     This member is added by an implicit conversion from Analyzer.Tag toany2stringadd[Analyzer.Tag] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd
4.  def ->[B](y: B): (Analyzer.Tag, B)
   Implicit
     This member is added by an implicit conversion from Analyzer.Tag toArrowAssoc[Analyzer.Tag] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()
5.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
6.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
7.  def clone(): AnyRef
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.CloneNotSupportedException]) @native()
8.  def ensuring(cond: (Analyzer.Tag) => Boolean, msg: => Any): Analyzer.Tag
   Implicit
     This member is added by an implicit conversion from Analyzer.Tag toEnsuring[Analyzer.Tag] performed by method Ensuring in scala.Predef.
   Definition Classes
     Ensuring
9.  def ensuring(cond: (Analyzer.Tag) => Boolean): Analyzer.Tag
   Implicit
     This member is added by an implicit conversion from Analyzer.Tag toEnsuring[Analyzer.Tag] performed by method Ensuring in scala.Predef.
   Definition Classes
     Ensuring
10.  def ensuring(cond: Boolean, msg: => Any): Analyzer.Tag
    Implicit
      This member is added by an implicit conversion from Analyzer.Tag toEnsuring[Analyzer.Tag] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
11.  def ensuring(cond: Boolean): Analyzer.Tag
    Implicit
      This member is added by an implicit conversion from Analyzer.Tag toEnsuring[Analyzer.Tag] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
12.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
13.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
14.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
15.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
16.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
17.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
18.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
19.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
20.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
21.  def resolveClassTag(pos: Global.Position, tp: Global.Type, allowMaterialization: Boolean = true): Global.Tree

    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.

    pos

      Position for error reporting. Please, provide meaningful value.

    tp

      Type we're looking a ClassTag for, e.g. resolveClassTag(pos, IntTpe) will look for ClassTag[Int].

    allowMaterialization

      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.

    returns

      Tree that represents an `scala.reflect.ClassTag` for `tp` if everything is okay. EmptyTree if the result contains unresolved (i.e. not spliced) type parameters and abstract type members. EmptyTree if `allowMaterialization` is false, and there is no class tag in scope.

22.  def resolveTypeTag(pos: Global.Position, pre: Global.Type, tp: Global.Type, concrete: Boolean, allowMaterialization: Boolean = true): Global.Tree

    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).

    pos

      Position for error reporting. Please, provide meaningful value.

    pre

      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.

    tp

      Type we're looking a TypeTag for, e.g. resolveTypeTag(pos, mkRuntimeUniverseRef, IntTpe, false) will look for scala.reflect.runtime.universe.TypeTag[Int].

    concrete

      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).

    allowMaterialization

      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.

    returns

      Tree that represents a `scala.reflect.TypeTag` for `tp` if everything is okay. EmptyTree if `concrete` is true and the result contains unresolved (i.e. not spliced) type parameters and abstract type members. EmptyTree if `allowMaterialization` is false, and there is no array tag in scope.

23.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
24.  def toString(): String
    Definition Classes
      AnyRef → Any
25.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
26.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
27.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Deprecated Value Members

1.  def formatted(fmtstr: String): String
   Implicit
     This member is added by an implicit conversion from Analyzer.Tag toStringFormat[Analyzer.Tag] performed by method StringFormat in scala.Predef.
   Definition Classes
     StringFormat
   Annotations
     @deprecated @inline()
   Deprecated

     (Since version 2.12.16) Use `formatString.format(value)` instead of `value.formatted(formatString)`, or use the `f""` string interpolator. In Java 15 and later, `formatted` resolves to the new method in String which has reversed parameters.

2.  def →[B](y: B): (Analyzer.Tag, B)
   Implicit
     This member is added by an implicit conversion from Analyzer.Tag toArrowAssoc[Analyzer.Tag] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @deprecated
   Deprecated

     (Since version 2.13.0) Use `->` instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd fromAnalyzer.Tag to any2stringadd[Analyzer.Tag]

### Inherited by implicit conversion StringFormat fromAnalyzer.Tag to StringFormat[Analyzer.Tag]

### Inherited by implicit conversion Ensuring fromAnalyzer.Tag to Ensuring[Analyzer.Tag]

### Inherited by implicit conversion ArrowAssoc fromAnalyzer.Tag to ArrowAssoc[Analyzer.Tag]

### Ungrouped