dotty.tools.dotc.core

Symbols

Related Docs: object Symbols | package core

trait Symbols extends AnyRef

Creation methods for symbols

Self Type
Context
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Symbols
  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. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  5. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. val companionMethodFlags: FlagSet

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

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

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

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

    Definition Classes
    AnyRef → Any
  11. def getClassIfDefined(path: PreName): Symbol

    Get ClassSymbol if class is either defined in current compilation run or present on classpath.

    Get ClassSymbol if class is either defined in current compilation run or present on classpath. Returns NoSymbol otherwise.

  12. def hashCode(): Int

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

    Definition Classes
    Any
  14. def mapSymbols(originals: List[Symbol], ttmap: TreeTypeMap, mapAlways: Boolean = false): List[Symbol]

    Map given symbols, subjecting their attributes to the mappings defined in the given TreeTypeMap ttmap.

    Map given symbols, subjecting their attributes to the mappings defined in the given TreeTypeMap ttmap. Cross symbol references are brought over from originals to copies. Do not copy any symbols if all attributes of all symbols stay the same.

  15. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  16. def newClassSymbol(owner: Symbol, name: TypeName, flags: FlagSet, infoFn: (ClassSymbol) ⇒ Type, privateWithin: Symbol = NoSymbol, coord: Coord = NoCoord, assocFile: AbstractFile = null): ClassSymbol

    Create a class symbol from its non-info fields and a function producing its info (the produced info may be lazy).

  17. def newClassSymbolDenoting(denotFn: (ClassSymbol) ⇒ SymDenotation, coord: Coord = NoCoord, assocFile: AbstractFile = null): ClassSymbol

    Create a class symbol from a function producing its denotation

  18. def newCompleteClassSymbol(owner: Symbol, name: TypeName, flags: FlagSet, parents: List[TypeRef], decls: Scope = newScope, selfInfo: Type = NoType, privateWithin: Symbol = NoSymbol, coord: Coord = NoCoord, assocFile: AbstractFile = null): ClassSymbol

    Create a class symbol from its non-info fields and the fields of its info.

  19. def newCompleteModuleSymbol(owner: Symbol, name: TermName, modFlags: FlagSet, clsFlags: FlagSet, parents: List[TypeRef], decls: Scope, privateWithin: Symbol = NoSymbol, coord: Coord = NoCoord, assocFile: AbstractFile = null): TermSymbol

    Create a module symbol with associated module class from its non-info fields and the fields of the module class info.

  20. def newCompletePackageSymbol(owner: Symbol, name: TermName, modFlags: FlagSet = EmptyFlags, clsFlags: FlagSet = EmptyFlags, decls: Scope = newScope): TermSymbol

    Create a package symbol with associated package class from its non-info fields its member scope.

  21. def newConstructor(cls: ClassSymbol, flags: FlagSet, paramNames: List[TermName], paramTypes: List[Type], privateWithin: Symbol = NoSymbol, coord: Coord = NoCoord): Symbol { type ThisName = dotty.tools.dotc.core.Names.TermName }

    Create a class constructor symbol for given class cls.

  22. def newDefaultConstructor(cls: ClassSymbol): Symbol { type ThisName = dotty.tools.dotc.core.Names.TermName }

    Create an empty default constructor symbol for given class cls.

  23. def newErrorSymbol(owner: Symbol, name: Name): Symbol { type ThisName = dotty.tools.dotc.core.Names.Name }

  24. def newImportSymbol(owner: Symbol, expr: ast.tpd.Tree, coord: Coord = NoCoord): Symbol { type ThisName = dotty.tools.dotc.core.Names.TermName }

    Create an import symbol pointing back to given qualifier expr.

  25. def newLocalDummy(cls: Symbol, coord: Coord = NoCoord): Symbol { type ThisName = dotty.tools.dotc.core.Names.TermName }

    Create the local template dummy of given class cls.

    Create the local template dummy of given class cls. In a template

    trait T { val fld: Int; { val x: int = 2 }; val fld2 = { val y = 2; y }}

    the owner of x is the local dummy of the template. The owner of the local dummy is then the class of the template itself. By contrast, the owner of y would be fld2. There is a single local dummy per template.

  26. def newModuleSymbol(owner: Symbol, name: TermName, modFlags: FlagSet, clsFlags: FlagSet, infoFn: (TermSymbol, ClassSymbol) ⇒ Type, privateWithin: Symbol = NoSymbol, coord: Coord = NoCoord, assocFile: AbstractFile = null): TermSymbol

    Create a module symbol with associated module class from its non-info fields and a function producing the info of the module class (this info may be lazy).

  27. def newNakedClassSymbol(coord: Coord = NoCoord, assocFile: AbstractFile = null)(implicit ctx: Context): ClassSymbol

    Create a class symbol without a denotation.

  28. def newNakedSymbol[N <: Name](coord: Coord = NoCoord)(implicit ctx: Context): Symbol { type ThisName = N }

    Create a symbol without a denotation.

    Create a symbol without a denotation. Note this uses a cast instead of a direct type refinement because it's debug-friendlier not to create an anonymous class here.

  29. def newNormalizedClassSymbol(owner: Symbol, name: TypeName, flags: FlagSet, parentTypes: List[Type], decls: Scope = newScope, selfInfo: Type = NoType, privateWithin: Symbol = NoSymbol, coord: Coord = NoCoord, assocFile: AbstractFile = null): ClassSymbol

    Same as newCompleteClassSymbol except that parents can be a list of arbitrary types which get normalized into type refs and parameter bindings.

  30. def newPackageSymbol(owner: Symbol, name: TermName, infoFn: (TermSymbol, ClassSymbol) ⇒ LazyType): TermSymbol

    Create a package symbol with associated package class from its non-info fields and a lazy type for loading the package's members.

  31. def newSelfSym(cls: ClassSymbol, name: TermName = nme.WILDCARD, selfInfo: Type = NoType): TermSymbol

    Create a symbol representing a selftype declaration for class cls.

  32. def newSkolem(tp: Type): Symbol { type ThisName = dotty.tools.dotc.core.Names.TermName }

    Create a new skolem symbol.

    Create a new skolem symbol. This is not the same as SkolemType, even though the motivation (create a singleton referencing to a type) is similar.

  33. def newStubSymbol(owner: Symbol, name: Name, file: AbstractFile = null): Symbol

    Create a stub symbol that will issue a missing reference error when attempted to be completed.

  34. def newSymbol[N <: Name](owner: Symbol, name: N, flags: FlagSet, info: Type, privateWithin: Symbol = NoSymbol, coord: Coord = NoCoord): Symbol { type ThisName = N }

    Create a symbol from its fields (info may be lazy)

  35. def newTypeParams(owner: Symbol, names: List[TypeName], flags: FlagSet, boundsFn: (List[TypeRef]) ⇒ List[Type]): List[TypeSymbol]

    Create new type parameters with given owner, names, and flags.

    Create new type parameters with given owner, names, and flags.

    boundsFn

    A function that, given type refs to the newly created parameters returns a list of their bounds.

  36. final def notify(): Unit

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

    Definition Classes
    AnyRef
  38. def requiredClass(path: PreName): ClassSymbol

  39. def requiredClassRef(path: PreName): TypeRef

  40. def requiredModule(path: PreName): TermSymbol

  41. def requiredModuleRef(path: PreName): TermRef

  42. def requiredPackage(path: PreName): TermSymbol

  43. def requiredPackageRef(path: PreName): TermRef

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

    Definition Classes
    AnyRef
  45. def synthesizeCompanionMethod(name: Name, target: SymDenotation, owner: SymDenotation)(implicit ctx: Context): Symbol

  46. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped