dotty.tools.dotc.typer

TypeAssigner

Related Docs: object TypeAssigner | package typer

trait TypeAssigner extends AnyRef

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. TypeAssigner
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  4. def accessibleSelectionType(tree: ast.untpd.RefTree, qual1: ast.tpd.Tree)(implicit ctx: Context): Type

    The selection type, which is additionally checked for accessibility.

  5. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  6. def assertExists(tp: Type): Type

  7. def assignType(tree: ast.untpd.PackageDef, pid: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  8. def assignType(tree: ast.untpd.Annotated, arg: ast.tpd.Tree, annot: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  9. def assignType(tree: ast.untpd.Import, sym: Symbol)(implicit ctx: Context): ThisTree[Type]

  10. def assignType(tree: ast.untpd.TypeDef, sym: Symbol)(implicit ctx: Context): ThisTree[Type]

  11. def assignType(tree: ast.untpd.DefDef, sym: Symbol)(implicit ctx: Context): ThisTree[Type]

  12. def assignType(tree: ast.untpd.ValDef, sym: Symbol)(implicit ctx: Context): ThisTree[Type]

  13. def assignType(tree: ast.untpd.UnApply, proto: Type)(implicit ctx: Context): ThisTree[Type]

  14. def assignType(tree: ast.untpd.Alternative, trees: List[ast.tpd.Tree])(implicit ctx: Context): ThisTree[Type]

  15. def assignType(tree: ast.untpd.Bind, sym: Symbol)(implicit ctx: Context): ThisTree[Type]

  16. def assignType(tree: ast.untpd.TypeBoundsTree, lo: ast.tpd.Tree, hi: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  17. def assignType(tree: ast.untpd.ByNameTypeTree, result: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  18. def assignType(tree: ast.untpd.PolyTypeTree, tparamDefs: List[ast.tpd.TypeDef], body: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  19. def assignType(tree: ast.untpd.AppliedTypeTree, tycon: ast.tpd.Tree, args: List[ast.tpd.Tree])(implicit ctx: Context): ThisTree[Type]

  20. def assignType(tree: ast.untpd.OrTypeTree, left: ast.tpd.Tree, right: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  21. def assignType(tree: ast.untpd.AndTypeTree, left: ast.tpd.Tree, right: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  22. def assignType(tree: ast.untpd.SingletonTypeTree, ref: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  23. def assignType(tree: ast.untpd.SeqLiteral, elems: List[ast.tpd.Tree], elemtpt: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  24. def assignType(tree: ast.untpd.Try, expr: ast.tpd.Tree, cases: List[ast.tpd.CaseDef])(implicit ctx: Context): ThisTree[Type]

  25. def assignType(tree: ast.untpd.Return)(implicit ctx: Context): ThisTree[Type]

  26. def assignType(tree: ast.untpd.Match, cases: List[ast.tpd.CaseDef])(implicit ctx: Context): ThisTree[Type]

  27. def assignType(tree: ast.untpd.CaseDef, body: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  28. def assignType(tree: ast.untpd.Closure, meth: ast.tpd.Tree, target: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  29. def assignType(tree: ast.untpd.If, thenp: ast.tpd.Tree, elsep: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  30. def assignType(tree: ast.untpd.Inlined, bindings: List[ast.tpd.Tree], expansion: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  31. def assignType(tree: ast.untpd.Block, stats: List[ast.tpd.Tree], expr: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  32. def assignType(tree: ast.untpd.Assign)(implicit ctx: Context): ThisTree[Type]

  33. def assignType(tree: ast.untpd.NamedArg, arg: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  34. def assignType(tree: ast.untpd.Typed, tpt: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  35. def assignType(tree: ast.untpd.TypeApply, fn: ast.tpd.Tree, args: List[ast.tpd.Tree])(implicit ctx: Context): ThisTree[Type]

  36. def assignType(tree: ast.untpd.Apply, fn: ast.tpd.Tree, args: List[ast.tpd.Tree])(implicit ctx: Context): ThisTree[Type]

  37. def assignType(tree: ast.untpd.Super, qual: ast.tpd.Tree, inConstrCall: Boolean, mixinClass: Symbol = NoSymbol)(implicit ctx: Context): ThisTree[Type]

  38. def assignType(tree: ast.untpd.This)(implicit ctx: Context): ThisTree[Type]

  39. def assignType(tree: ast.untpd.Literal)(implicit ctx: Context): ThisTree[Type]

  40. def assignType(tree: ast.untpd.New, tpt: ast.tpd.Tree)(implicit ctx: Context): ThisTree[Type]

  41. def assignType(tree: ast.untpd.Select, qual: ast.tpd.Tree)(implicit ctx: Context): ast.tpd.Select

  42. def assignType(tree: ast.untpd.Ident, tp: Type)(implicit ctx: Context): ThisTree[Type]

    Type assignment method.

    Type assignment method. Each method takes as parameters

    • an untpd.Tree to which it assigns a type,
    • typed child trees it needs to access to cpmpute that type,
    • any further information it needs to access to compute that type.
  43. def avoid(tp: Type, symsToAvoid: ⇒ List[Symbol])(implicit ctx: Context): Type

    An upper approximation of the given type tp that does not refer to any symbol in symsToAvoid.

    An upper approximation of the given type tp that does not refer to any symbol in symsToAvoid. Approximation steps are:

    • follow aliases and upper bounds if the original refers to a forbidden symbol
    • widen termrefs that refer to a forbidden symbol
    • replace ClassInfos of forbidden classes by the intersection of their parents, refined by all non-private fields, methods, and type members.
    • if the prefix of a class refers to a forbidden symbol, first try to replace the prefix, if this is not possible, replace the ClassInfo as above.
    • drop refinements referring to a forbidden symbol.
  44. def avoidingType(expr: ast.tpd.Tree, bindings: List[ast.tpd.Tree])(implicit ctx: Context): Type

  45. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  46. def ensureAccessible(tpe: Type, superAccess: Boolean, pos: Position)(implicit ctx: Context): Type

    If tpe is a named type, check that its denotation is accessible in the current context.

    If tpe is a named type, check that its denotation is accessible in the current context. Return the type with those alternatives as denotations which are accessible.

    Also performs the following normalizations on the type tpe. (1) parameter accessors are always dereferenced. (2) if the owner of the denotation is a package object, it is assured that the package object shows up as the prefix.

  47. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  48. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  49. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  50. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  51. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  52. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  53. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  54. final def notify(): Unit

    Definition Classes
    AnyRef
  55. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  56. def qualifyingClass(tree: ast.untpd.Tree, qual: Name, packageOK: Boolean)(implicit ctx: Context): Symbol

    The qualifying class of a this or super with prefix qual (which might be empty).

  57. final def reallyExists(denot: Denotation)(implicit ctx: Context): Boolean

    A denotation exists really if it exists and does not point to a stale symbol.

  58. def selectionType(site: Type, name: Name, pos: Position)(implicit ctx: Context): Type

    The type of a selection with name of a tree with type site.

  59. def seqToRepeated(tree: ast.tpd.Tree)(implicit ctx: Context): ast.tpd.Tree

  60. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  61. def toString(): String

    Definition Classes
    AnyRef → Any
  62. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  63. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  64. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped