MacroInternalApi - Scala Reflection Library 2.11.6 - scala.reflect.macros.Universe.MacroInternalApi
Keywords: MacroInternalApi Scala Reflection Library 2.11.6 scala.reflect.macros.Universe.MacroInternalApi

scala.reflect.macros.Universe

# MacroInternalApi

###
Related Doc: package Universe

#### trait MacroInternalApi extends InternalApi

<invalid inheritdoc annotation>

Self Type
  MacroInternalApi
Source
  Universe.scala

Linear Supertypes
Universe.InternalApi, AnyRef, Any
Known Subclasses
ContextInternalApi
Type Hierarchy Learn more about scaladoc diagrams
Ordering

1. Grouped
2. Alphabetic
3. By inheritance

Inherited

1. MacroInternalApi
2. InternalApi
3. AnyRef
4. Any

Implicitly

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

1. Hide All
2. Show all

Learn more about member selection
Visibility

1. Public
2. All

### Type Members

1. #### trait DecoratorApi extends AnyRef

   Definition Classes
     InternalApi
   See also

     Decorators

2. #### abstract type Decorators <: MacroDecoratorApi

   Syntactic conveniences for additional internal APIs for trees, symbols and types

   Syntactic conveniences for additional internal APIs for trees, symbols and types

   Definition Classes
     MacroInternalApi → InternalApi

3. #### trait MacroDecoratorApi extends DecoratorApi

   <invalid inheritdoc annotation>

### Abstract Value Members

1. #### abstract def annotatedType(annotations: List[Universe.Annotation], underlying: Universe.Type): Universe.AnnotatedType

   A creator for `AnnotatedType` types.

   A creator for `AnnotatedType` types.

   Definition Classes
     InternalApi

2. #### abstract def asFreeTerm(symbol: Universe.Symbol): Universe.FreeTermSymbol

   This symbol cast to a free term symbol.

   This symbol cast to a free term symbol.

   Definition Classes
     InternalApi
   Exceptions thrown

     `ScalaReflectionException` if `isFreeTerm` is false.

3. #### abstract def asFreeType(symbol: Universe.Symbol): Universe.FreeTypeSymbol

   This symbol cast to a free type symbol.

   This symbol cast to a free type symbol.

   Definition Classes
     InternalApi
   Exceptions thrown

     `ScalaReflectionException` if `isFreeType` is false.

4. #### abstract def attachments(tree: Universe.Tree): Attachments { type Pos = Universe.this.Position }

   The attachment of the tree.

5. #### abstract def attachments(symbol: Universe.Symbol): Attachments { type Pos = Universe.this.Position }

   The attachment of the symbol.

6. #### abstract def boundedWildcardType(bounds: Universe.TypeBounds): Universe.BoundedWildcardType

   A creator for `BoundedWildcardType` types.

   A creator for `BoundedWildcardType` types.

   Definition Classes
     InternalApi

7. #### abstract def captureVariable(vble: Universe.Symbol): Unit

   Mark a variable as captured; i.e.

   Mark a variable as captured; i.e. force boxing in a *Ref type.

8. #### abstract def capturedVariableType(vble: Universe.Symbol): Universe.Type

   Convert type of a captured variable to *Ref type.

9. #### abstract def changeOwner(tree: Universe.Tree, prev: Universe.Symbol, next: Universe.Symbol): tree.type

   Collects all the symbols defined by subtrees of `tree` that are owned by `prev`, and then changes their owner to point to `next`.

   Collects all the symbols defined by subtrees of `tree` that are owned by `prev`, and then changes their owner to point to `next`.

   This is an essential tool to battle owner chain corruption when moving trees from one lexical context to another. Whenever you take an attributed tree that has been typechecked under the Context owned by some symbol (let's call it `x`) and splice it elsewhere, into the Context owned by another symbol (let's call it `y`), it is imperative that you either call `untypecheck` or do `changeOwner(tree, x, y)`.

   Since at the moment `untypecheck` has fundamental problem that can sometimes lead to tree corruption, `changeOwner` becomes an indispensable tool in building 100% robust macros. Future versions of the reflection API might obviate the need in taking care of these low-level details, but at the moment this is what we've got.

10. #### abstract def classDef(sym: Universe.Symbol, impl: Universe.Template): Universe.ClassDef

    A factory method for `ClassDef` nodes.

    A factory method for `ClassDef` nodes.

    Definition Classes
      InternalApi

11. #### abstract def classInfoType(parents: List[Universe.Type], decls: Universe.Scope, typeSymbol: Universe.Symbol): Universe.ClassInfoType

    A creator for `ClassInfoType` types.

    A creator for `ClassInfoType` types.

    Definition Classes
      InternalApi

12. #### abstract def constantType(value: Universe.Constant): Universe.ConstantType

    A creator for `ConstantType` types.

    A creator for `ConstantType` types.

    Definition Classes
      InternalApi

13. #### abstract def createImporter(from0: api.Universe): Universe.Importer { val from: from0.type }

    Creates an importer that moves reflection artifacts between universes.

    Creates an importer that moves reflection artifacts between universes.

    Definition Classes
      InternalApi
    See also

      Importer

14. #### abstract def deSkolemize(symbol: Universe.Symbol): Universe.Symbol

    If this symbol is a skolem, its corresponding type parameter, otherwise the symbol itself.

    If this symbol is a skolem, its corresponding type parameter, otherwise the symbol itself.

    To quote Martin Odersky, skolems are synthetic type "constants" that are copies of existentially bound or universally bound type variables. E.g. if one is inside the right-hand side of a method:

        def foo[T](x: T) = ... foo[List[T]]....

    the skolem named `T` refers to the unknown type instance of `T` when `foo` is called. It needs to be different from the type parameter because in a recursive call as in the `foo[List[T]]` above the type parameter gets substituted with `List[T]`, but the type skolem stays what it is.

    The other form of skolem is an existential skolem. Say one has a function

        def bar(xs: List[T] forSome { type T }) = xs.head

    then each occurrence of `xs` on the right will have type `List[T']` where `T'` is a fresh copy of `T`.

    Definition Classes
      InternalApi

15. #### abstract val decorators: Decorators

    Definition Classes
      InternalApi
    See also

      Decorators

16. #### abstract def defDef(sym: Universe.Symbol, rhs: (List[List[Universe.Symbol]]) ⇒ Universe.Tree): Universe.DefDef

    A factory method for `DefDef` nodes.

    A factory method for `DefDef` nodes.

    Definition Classes
      InternalApi

17. #### abstract def defDef(sym: Universe.Symbol, rhs: Universe.Tree): Universe.DefDef

    A factory method for `DefDef` nodes.

    A factory method for `DefDef` nodes.

    Definition Classes
      InternalApi

18. #### abstract def defDef(sym: Universe.Symbol, mods: Universe.Modifiers, rhs: Universe.Tree): Universe.DefDef

    A factory method for `DefDef` nodes.

    A factory method for `DefDef` nodes.

    Definition Classes
      InternalApi

19. #### abstract def defDef(sym: Universe.Symbol, vparamss: List[List[Universe.ValDef]], rhs: Universe.Tree): Universe.DefDef

    A factory method for `DefDef` nodes.

    A factory method for `DefDef` nodes.

    Definition Classes
      InternalApi

20. #### abstract def defDef(sym: Universe.Symbol, mods: Universe.Modifiers, vparamss: List[List[Universe.ValDef]], rhs: Universe.Tree): Universe.DefDef

    A factory method for `DefDef` nodes.

    A factory method for `DefDef` nodes.

    Definition Classes
      InternalApi

21. #### abstract def defineType(tree: Universe.Tree, tp: Universe.Type): tree.type

    Like `setType`, but if this is a previously empty TypeTree that fact is remembered so that `untypecheck` will snap back.

    Like `setType`, but if this is a previously empty TypeTree that fact is remembered so that `untypecheck` will snap back.

    \@PP: Attempting to elaborate on the above, I find: If defineType is called on a TypeTree whose type field is null or NoType, this is recorded as "wasEmpty = true". That value is used in ResetAttrsTraverser, which nulls out the type field of TypeTrees for which wasEmpty is true, leaving the others alone.

    `untypecheck` (or `resetAttrs` in compiler parlance) is used in situations where some speculative typing of a tree takes place, fails, and the tree needs to be returned to its former state to try again. So according to me: using `defineType` instead of `setType` is how you communicate that the type being set does not depend on any previous state, and therefore should be abandoned if the current line of type inquiry doesn't work out.

22. #### abstract def enter(scope: Universe.Scope, sym: Universe.Symbol): scope.type

    Adds a given symbol to the given scope.

23. #### abstract def existentialAbstraction(tparams: List[Universe.Symbol], tpe0: Universe.Type): Universe.Type

    A creator for existential types.

    A creator for existential types. This generates:

        tpe1 where { tparams }

    where `tpe1` is the result of extrapolating `tpe` with regard to `tparams`. Extrapolating means that type variables in `tparams` occurring in covariant positions are replaced by upper bounds, (minus any SingletonClass markers), type variables in `tparams` occurring in contravariant positions are replaced by upper bounds, provided the resulting type is legal with regard to stability, and does not contain any type variable in `tparams`.

    The abstraction drops all type parameters that are not directly or indirectly referenced by type `tpe1`. If there are no remaining type parameters, simply returns result type `tpe`.

    Definition Classes
      InternalApi

24. #### abstract def existentialType(quantified: List[Universe.Symbol], underlying: Universe.Type): Universe.ExistentialType

    A creator for `ExistentialType` types.

    A creator for `ExistentialType` types.

    Definition Classes
      InternalApi

25. #### abstract def flags(symbol: Universe.Symbol): Universe.FlagSet

    Returns internal flags associated with the symbol.

    Returns internal flags associated with the symbol.

    Definition Classes
      InternalApi

26. #### abstract def freeTerms(tree: Universe.Tree): List[Universe.FreeTermSymbol]

    Extracts free term symbols from a tree that is reified or contains reified subtrees.

    Extracts free term symbols from a tree that is reified or contains reified subtrees.

    Definition Classes
      InternalApi

27. #### abstract def freeTypes(tree: Universe.Tree): List[Universe.FreeTypeSymbol]

    Extracts free type symbols from a tree that is reified or contains reified subtrees.

    Extracts free type symbols from a tree that is reified or contains reified subtrees.

    Definition Classes
      InternalApi

28. #### abstract def fullyInitialize(scope: Universe.Scope): scope.type

    Calls initialize on all the symbols that the scope consists of.

    Calls initialize on all the symbols that the scope consists of.

    Definition Classes
      InternalApi

29. #### abstract def fullyInitialize(tp: Universe.Type): tp.type

    Calls initialize on all the value and type parameters of the type.

    Calls initialize on all the value and type parameters of the type.

    Definition Classes
      InternalApi

30. #### abstract def fullyInitialize(symbol: Universe.Symbol): symbol.type

    Calls initialize on the owner and all the value and type parameters of the symbol.

    Calls initialize on the owner and all the value and type parameters of the symbol.

    Definition Classes
      InternalApi

31. #### abstract val gen: TreeGen

    Advanced tree factories

32. #### abstract def initialize(symbol: Universe.Symbol): symbol.type

    Forces all outstanding completers associated with this symbol.

    Forces all outstanding completers associated with this symbol. After this call returns, the symbol becomes immutable and thread-safe.

    Definition Classes
      InternalApi

33. #### abstract def intersectionType(tps: List[Universe.Type], owner: Universe.Symbol): Universe.Type

    A creator for intersection type where intersections of a single type are replaced by the type itself, and repeated parent classes are merged.

    A creator for intersection type where intersections of a single type are replaced by the type itself, and repeated parent classes are merged.

    !!! Repeated parent classes are not merged - is this a bug in the comment or in the code?

    Definition Classes
      InternalApi

34. #### abstract def intersectionType(tps: List[Universe.Type]): Universe.Type

    A creator for intersection type where intersections of a single type are replaced by the type itself.

    A creator for intersection type where intersections of a single type are replaced by the type itself.

    Definition Classes
      InternalApi

35. #### abstract def isErroneous(symbol: Universe.Symbol): Boolean

    Does this symbol or its underlying type represent a typechecking error?

    Does this symbol or its underlying type represent a typechecking error?

    Definition Classes
      InternalApi

36. #### abstract def isFreeTerm(symbol: Universe.Symbol): Boolean

    Does this symbol represent a free term captured by reification? If yes, `isTerm` is also guaranteed to be true.

    Does this symbol represent a free term captured by reification? If yes, `isTerm` is also guaranteed to be true.

    Definition Classes
      InternalApi

37. #### abstract def isFreeType(symbol: Universe.Symbol): Boolean

    Does this symbol represent a free type captured by reification? If yes, `isType` is also guaranteed to be true.

    Does this symbol represent a free type captured by reification? If yes, `isType` is also guaranteed to be true.

    Definition Classes
      InternalApi

38. #### abstract def isSkolem(symbol: Universe.Symbol): Boolean

    Does this symbol represent the definition of a skolem? Skolems are used during typechecking to represent type parameters viewed from inside their scopes.

    Does this symbol represent the definition of a skolem? Skolems are used during typechecking to represent type parameters viewed from inside their scopes.

    Definition Classes
      InternalApi

39. #### abstract def labelDef(sym: Universe.Symbol, params: List[Universe.Symbol], rhs: Universe.Tree): Universe.LabelDef

    A factory method for `LabelDef` nodes.

    A factory method for `LabelDef` nodes.

    Definition Classes
      InternalApi

40. #### abstract def methodType(params: List[Universe.Symbol], resultType: Universe.Type): Universe.MethodType

    A creator for `MethodType` types.

    A creator for `MethodType` types.

    Definition Classes
      InternalApi

41. #### abstract def moduleDef(sym: Universe.Symbol, impl: Universe.Template): Universe.ModuleDef

    A factory method for `ModuleDef` nodes.

    A factory method for `ModuleDef` nodes.

    Definition Classes
      InternalApi

42. #### abstract def newClassSymbol(owner: Universe.Symbol, name: Universe.TypeName, pos: Universe.Position = NoPosition, flags: Universe.FlagSet = NoFlags): Universe.ClassSymbol

    Definition Classes
      InternalApi

43. #### abstract def newFreeTerm(name: String, value: ⇒ Any, flags: Universe.FlagSet = NoFlags, origin: String = null): Universe.FreeTermSymbol

    Definition Classes
      InternalApi

44. #### abstract def newFreeType(name: String, flags: Universe.FlagSet = NoFlags, origin: String = null): Universe.FreeTypeSymbol

    Definition Classes
      InternalApi

45. #### abstract def newMethodSymbol(owner: Universe.Symbol, name: Universe.TermName, pos: Universe.Position = NoPosition, flags: Universe.FlagSet = NoFlags): Universe.MethodSymbol

    Definition Classes
      InternalApi

46. #### abstract def newModuleAndClassSymbol(owner: Universe.Symbol, name: Universe.Name, pos: Universe.Position = NoPosition, flags: Universe.FlagSet = NoFlags): (Universe.ModuleSymbol, Universe.ClassSymbol)

    Definition Classes
      InternalApi

47. #### abstract def newScopeWith(elems: Universe.Symbol*): Universe.Scope

    Create a new scope with the given initial elements.

    Create a new scope with the given initial elements.

    Definition Classes
      InternalApi

48. #### abstract def newTermSymbol(owner: Universe.Symbol, name: Universe.TermName, pos: Universe.Position = NoPosition, flags: Universe.FlagSet = NoFlags): Universe.TermSymbol

    Definition Classes
      InternalApi

49. #### abstract def newTypeSymbol(owner: Universe.Symbol, name: Universe.TypeName, pos: Universe.Position = NoPosition, flags: Universe.FlagSet = NoFlags): Universe.TypeSymbol

    Definition Classes
      InternalApi

50. #### abstract def nullaryMethodType(resultType: Universe.Type): Universe.NullaryMethodType

    A creator for `NullaryMethodType` types.

    A creator for `NullaryMethodType` types.

    Definition Classes
      InternalApi

51. #### abstract def polyType(tparams: List[Universe.Symbol], tpe: Universe.Type): Universe.PolyType

    A creator for type parameterizations that strips empty type parameter lists.

    A creator for type parameterizations that strips empty type parameter lists. Use this factory method to indicate the type has kind * (it's a polymorphic value) until we start tracking explicit kinds equivalent to typeFun (except that the latter requires tparams nonEmpty).

    Definition Classes
      InternalApi

52. #### abstract def referenceCapturedVariable(vble: Universe.Symbol): Universe.Tree

    Mark given identifier as a reference to a captured variable itself suppressing dereferencing with the `elem` field.

53. #### abstract def refinedType(parents: List[Universe.Type], owner: Universe.Symbol, decls: Universe.Scope, pos: Universe.Position): Universe.Type

    A creator for `RefinedType` types.

    A creator for `RefinedType` types.

    Definition Classes
      InternalApi

54. #### abstract def refinedType(parents: List[Universe.Type], owner: Universe.Symbol, decls: Universe.Scope): Universe.Type

    A creator for `RefinedType` types.

    A creator for `RefinedType` types.

    Definition Classes
      InternalApi

55. #### abstract def refinedType(parents: List[Universe.Type], owner: Universe.Symbol): Universe.Type

    A creator for `RefinedType` types.

    A creator for `RefinedType` types.

    Definition Classes
      InternalApi

56. #### abstract def refinedType(parents: List[Universe.Type], decls: Universe.Scope, clazz: Universe.Symbol): Universe.RefinedType

    A creator for `RefinedType` types.

    A creator for `RefinedType` types.

    Definition Classes
      InternalApi

57. #### abstract def refinedType(parents: List[Universe.Type], decls: Universe.Scope): Universe.RefinedType

    A creator for `RefinedType` types.

    A creator for `RefinedType` types.

    Definition Classes
      InternalApi

58. #### abstract val reificationSupport: Universe.ReificationSupportApi

    This is an internal implementation module.

    This is an internal implementation module.

    Definition Classes
      InternalApi

59. #### abstract def removeAttachment[T](tree: Universe.Tree)(implicit arg0: ClassTag[T]): tree.type

    Update the attachment with the payload of the given class type `T` removed.

    Update the attachment with the payload of the given class type `T` removed. Returns the tree itself.

60. #### abstract def removeAttachment[T](symbol: Universe.Symbol)(implicit arg0: ClassTag[T]): symbol.type

    Update the attachment with the payload of the given class type `T` removed.

    Update the attachment with the payload of the given class type `T` removed. Returns the symbol itself.

61. #### abstract def resetFlag(symbol: Universe.Symbol, flags: Universe.FlagSet): symbol.type

    Disables `flags` on the symbol.

62. #### abstract def setAnnotations(symbol: Universe.Symbol, annots: Universe.Annotation*): symbol.type

    Sets the `annotations` of the symbol.

63. #### abstract def setFlag(symbol: Universe.Symbol, flags: Universe.FlagSet): symbol.type

    Enables `flags` on the symbol.

64. #### abstract def setInfo(symbol: Universe.Symbol, tpe: Universe.Type): symbol.type

    Sets the `info` of the symbol.

65. #### abstract def setName(symbol: Universe.Symbol, name: Universe.Name): symbol.type

    Sets the `name` of the symbol.

66. #### abstract def setOriginal(tt: Universe.TypeTree, original: Universe.Tree): Universe.TypeTree

    Sets the `original` field of the type tree.

67. #### abstract def setOwner(symbol: Universe.Symbol, newowner: Universe.Symbol): symbol.type

    Sets the `owner` of the symbol.

68. #### abstract def setPos(tree: Universe.Tree, newpos: Universe.Position): tree.type

    Sets the `pos` of the tree.

    Sets the `pos` of the tree. Returns the tree itself.

69. #### abstract def setPrivateWithin(symbol: Universe.Symbol, sym: Universe.Symbol): symbol.type

    Sets the `privateWithin` of the symbol.

70. #### abstract def setSymbol(tree: Universe.Tree, sym: Universe.Symbol): tree.type

    Sets the `symbol` of the tree.

    Sets the `symbol` of the tree. Returns the tree itself.

71. #### abstract def setType(tree: Universe.Tree, tp: Universe.Type): tree.type

    Sets the `tpe` of the tree.

    Sets the `tpe` of the tree. Returns the tree itself.

72. #### abstract def singleType(pre: Universe.Type, sym: Universe.Symbol): Universe.Type

    A creator for `SingleType` types.

    A creator for `SingleType` types.

    Definition Classes
      InternalApi

73. #### abstract def subpatterns(tree: Universe.Tree): Option[List[Universe.Tree]]

    Retrieves the untyped list of subpatterns attached to selector dummy of an UnApply node.

    Retrieves the untyped list of subpatterns attached to selector dummy of an UnApply node. Useful in writing quasiquoting macros that do pattern matching.

74. #### abstract def substituteSymbols(tree: Universe.Tree, from: List[Universe.Symbol], to: List[Universe.Symbol]): Universe.Tree

    Substitute symbols in `to` for corresponding occurrences of references to symbols `from` in this type.

    Substitute symbols in `to` for corresponding occurrences of references to symbols `from` in this type.

    Definition Classes
      InternalApi

75. #### abstract def substituteThis(tree: Universe.Tree, clazz: Universe.Symbol, to: Universe.Tree): Universe.Tree

    Substitute given tree `to` for occurrences of nodes that represent `C.this`, where `C` referes to the given class `clazz`.

    Substitute given tree `to` for occurrences of nodes that represent `C.this`, where `C` referes to the given class `clazz`.

    Definition Classes
      InternalApi

76. #### abstract def substituteTypes(tree: Universe.Tree, from: List[Universe.Symbol], to: List[Universe.Type]): Universe.Tree

    Substitute types in `to` for corresponding occurrences of references to symbols `from` in this tree.

    Substitute types in `to` for corresponding occurrences of references to symbols `from` in this tree.

    Definition Classes
      InternalApi

77. #### abstract def superType(thistpe: Universe.Type, supertpe: Universe.Type): Universe.Type

    A creator for `SuperType` types.

    A creator for `SuperType` types.

    Definition Classes
      InternalApi

78. #### abstract def thisType(sym: Universe.Symbol): Universe.Type

    A creator for `ThisType` types.

    A creator for `ThisType` types.

    Definition Classes
      InternalApi

79. #### abstract def typeBounds(lo: Universe.Type, hi: Universe.Type): Universe.TypeBounds

    A creator for `TypeBounds` types.

    A creator for `TypeBounds` types.

    Definition Classes
      InternalApi

80. #### abstract def typeDef(sym: Universe.Symbol): Universe.TypeDef

    A factory method for `TypeDef` nodes.

    A factory method for `TypeDef` nodes.

    Definition Classes
      InternalApi

81. #### abstract def typeDef(sym: Universe.Symbol, rhs: Universe.Tree): Universe.TypeDef

    A factory method for `TypeDef` nodes.

    A factory method for `TypeDef` nodes.

    Definition Classes
      InternalApi

82. #### abstract def typeRef(pre: Universe.Type, sym: Universe.Symbol, args: List[Universe.Type]): Universe.Type

    A creator for `TypeRef` types.

    A creator for `TypeRef` types.

    Definition Classes
      InternalApi

83. #### abstract def unlink(scope: Universe.Scope, sym: Universe.Symbol): scope.type

    Removes a given symbol to the given scope.

84. #### abstract def updateAttachment[T](tree: Universe.Tree, attachment: T)(implicit arg0: ClassTag[T]): tree.type

    Updates the attachment with the payload slot of T added/updated with the provided value.

    Updates the attachment with the payload slot of T added/updated with the provided value. Replaces an existing payload of the same type, if exists. Returns the tree itself.

85. #### abstract def updateAttachment[T](symbol: Universe.Symbol, attachment: T)(implicit arg0: ClassTag[T]): symbol.type

    Updates the attachment with the payload slot of T added/updated with the provided value.

    Updates the attachment with the payload slot of T added/updated with the provided value. Replaces an existing payload of the same type, if exists. Returns the symbol itself.

86. #### abstract def valDef(sym: Universe.Symbol): Universe.ValDef

    A factory method for `ValDef` nodes.

    A factory method for `ValDef` nodes.

    Definition Classes
      InternalApi

87. #### abstract def valDef(sym: Universe.Symbol, rhs: Universe.Tree): Universe.ValDef

    A factory method for `ValDef` nodes.

    A factory method for `ValDef` nodes.

    Definition Classes
      InternalApi

### Concrete Value Members

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

   Test two objects for inequality.

   Test two objects for inequality.

   returns

     `true` if !(this == that), false otherwise.

   Definition Classes
     AnyRef → Any

2. #### final def ##(): Int

   Equivalent to `x.hashCode` except for boxed numeric types and `null`.

   Equivalent to `x.hashCode` except for boxed numeric types and `null`. For numerics, it returns a hash value which is consistent with value equality: if two value type instances compare as true, then ## will produce the same hash value for each of them. For `null` returns a hashcode where `null.hashCode` throws a `NullPointerException`.

   returns

     a hash value consistent with ==

   Definition Classes
     AnyRef → Any

3. #### def +(other: String): String

   Implicit information
     This member is added by an implicit conversion from MacroInternalApi to any2stringadd[MacroInternalApi] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd

4. #### def ->[B](y: B): (MacroInternalApi, B)

   Implicit information
     This member is added by an implicit conversion from MacroInternalApi to ArrowAssoc[MacroInternalApi] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()

5. #### final def ==(arg0: Any): Boolean

   The expression `x == that` is equivalent to `if (x eq null) that eq null else x.equals(that)`.

   The expression `x == that` is equivalent to `if (x eq null) that eq null else x.equals(that)`.

   arg0

     the object to compare against this object for equality.

   returns

     `true` if the receiver object is equivalent to the argument; `false` otherwise.

   Definition Classes
     AnyRef → Any

6. #### final def asInstanceOf[T0]: T0

   Cast the receiver object to be of type `T0`.

   Cast the receiver object to be of type `T0`.

   Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression `1.asInstanceOf[String]` will throw a `ClassCastException` at runtime, while the expression `List(1).asInstanceOf[List[String]]` will not. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested type.

   returns

     the receiver object.

   Definition Classes
     Any
   Exceptions thrown

     `ClassCastException` if the receiver object is not an instance of the erasure of type `T0`.

7. #### def clone(): AnyRef

   Create a copy of the receiver object.

   Create a copy of the receiver object.

   The default implementation of the `clone` method is platform dependent.

   returns

     a copy of the receiver object.

   Attributes
     protected[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( ... )
   Note

     not specified by SLS as a member of AnyRef

8. #### def ensuring(cond: (MacroInternalApi) ⇒ Boolean, msg: ⇒ Any): MacroInternalApi

   Implicit information
     This member is added by an implicit conversion from MacroInternalApi to Ensuring[MacroInternalApi] performed by method Ensuring in scala.Predef.
   Definition Classes
     Ensuring

9. #### def ensuring(cond: (MacroInternalApi) ⇒ Boolean): MacroInternalApi

   Implicit information
     This member is added by an implicit conversion from MacroInternalApi to Ensuring[MacroInternalApi] performed by method Ensuring in scala.Predef.
   Definition Classes
     Ensuring

10. #### def ensuring(cond: Boolean, msg: ⇒ Any): MacroInternalApi

    Implicit information
      This member is added by an implicit conversion from MacroInternalApi to Ensuring[MacroInternalApi] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

11. #### def ensuring(cond: Boolean): MacroInternalApi

    Implicit information
      This member is added by an implicit conversion from MacroInternalApi to Ensuring[MacroInternalApi] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

12. #### final def eq(arg0: AnyRef): Boolean

    Tests whether the argument (`arg0`) is a reference to the receiver object (`this`).

    Tests whether the argument (`arg0`) is a reference to the receiver object (`this`).

    The `eq` method implements an equivalence relation on non-null instances of `AnyRef`, and has three additional properties:

    - It is consistent: for any non-null instances `x` and `y` of type `AnyRef`, multiple invocations of `x.eq(y)` consistently returns `true` or consistently returns `false`.
    - For any non-null instance `x` of type `AnyRef`, `x.eq(null)` and `null.eq(x)` returns `false`.
    - `null.eq(null)` returns `true`.

    When overriding the `equals` or `hashCode` methods, it is important to ensure that their behavior is consistent with reference equality. Therefore, if two objects are references to each other (`o1 eq o2`), they should be equal to each other (`o1 == o2`) and they should hash to the same value (`o1.hashCode == o2.hashCode`).

    returns

      `true` if the argument is a reference to the receiver object; `false` otherwise.

    Definition Classes
      AnyRef

13. #### def equals(arg0: Any): Boolean

    The equality method for reference types.

    The equality method for reference types. Default implementation delegates to `eq`.

    See also `equals` in scala.Any.

    returns

      `true` if the receiver object is equivalent to the argument; `false` otherwise.

    Definition Classes
      AnyRef → Any

14. #### def finalize(): Unit

    Called by the garbage collector on the receiver object when there are no more references to the object.

    Called by the garbage collector on the receiver object when there are no more references to the object.

    The details of when and if the `finalize` method is invoked, as well as the interaction between `finalize` and non-local returns and exceptions, are all platform dependent.

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )
    Note

      not specified by SLS as a member of AnyRef

15. #### def formatted(fmtstr: String): String

    Implicit information
      This member is added by an implicit conversion from MacroInternalApi to StringFormat[MacroInternalApi] performed by method StringFormat in scala.Predef.
    Definition Classes
      StringFormat
    Annotations
      @inline()

16. #### final def getClass(): Class[_]

    A representation that corresponds to the dynamic class of the receiver object.

    A representation that corresponds to the dynamic class of the receiver object.

    The nature of the representation is platform dependent.

    returns

      a representation that corresponds to the dynamic class of the receiver object.

    Definition Classes
      AnyRef → Any
    Note

      not specified by SLS as a member of AnyRef

17. #### def hashCode(): Int

    The hashCode method for reference types.

    The hashCode method for reference types. See hashCode in scala.Any.

    returns

      the hash code value for this object.

    Definition Classes
      AnyRef → Any

18. #### final def isInstanceOf[T0]: Boolean

    Test whether the dynamic type of the receiver object is `T0`.

    Test whether the dynamic type of the receiver object is `T0`.

    Note that the result of the test is modulo Scala's erasure semantics. Therefore the expression `1.isInstanceOf[String]` will return `false`, while the expression `List(1).isInstanceOf[List[String]]` will return `true`. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the specified type.

    returns

      `true` if the receiver object is an instance of erasure of type `T0`; `false` otherwise.

    Definition Classes
      Any

19. #### def manifestToTypeTag[T](mirror: Any, manifest: Manifest[T]): api.Universe.TypeTag[T]

    Convert a scala.reflect.Manifest to a scala.reflect.api.TypeTags#TypeTag.

    Convert a scala.reflect.Manifest to a scala.reflect.api.TypeTags#TypeTag.

    Compiler usually generates these conversions automatically, when a manifest for a type `T` is in scope, and an implicit of type `TypeTag[T]` is requested, but this method can also be called manually. For example:

        manifestToTypeTag(scala.reflect.runtime.currentMirror, implicitly[Manifest[String]])

    Definition Classes
      InternalApi

20. #### final def ne(arg0: AnyRef): Boolean

    Equivalent to `!(this eq that)`.

    Equivalent to `!(this eq that)`.

    returns

      `true` if the argument is not a reference to the receiver object; `false` otherwise.

    Definition Classes
      AnyRef

21. #### final def notify(): Unit

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Definition Classes
      AnyRef
    Note

      not specified by SLS as a member of AnyRef

22. #### final def notifyAll(): Unit

    Wakes up all threads that are waiting on the receiver object's monitor.

    Wakes up all threads that are waiting on the receiver object's monitor.

    Definition Classes
      AnyRef
    Note

      not specified by SLS as a member of AnyRef

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

    Definition Classes
      AnyRef

24. #### def toString(): String

    Creates a String representation of this object.

    Creates a String representation of this object. The default representation is platform dependent. On the java platform it is the concatenation of the class name, "@", and the object's hashcode in hexadecimal.

    returns

      a String representation of the object.

    Definition Classes
      AnyRef → Any

25. #### def typeTagToManifest[T](mirror: Any, tag: api.Universe.TypeTag[T])(implicit arg0: ClassTag[T]): Manifest[T]

    Convert a scala.reflect.api.TypeTags#TypeTag to a scala.reflect.Manifest.

    Convert a scala.reflect.api.TypeTags#TypeTag to a scala.reflect.Manifest.

    Compiler usually generates these conversions automatically, when a type tag for a type `T` is in scope, and an implicit of type `Manifest[T]` is requested, but this method can also be called manually. For example:

        typeTagToManifest(scala.reflect.runtime.currentMirror, implicitly[TypeTag[String]])

    Definition Classes
      InternalApi

26. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

27. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

28. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

29. #### def →[B](y: B): (MacroInternalApi, B)

    Implicit information
      This member is added by an implicit conversion from MacroInternalApi to ArrowAssoc[MacroInternalApi] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
      ArrowAssoc

### Inherited from Universe.InternalApi

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd from MacroInternalApi to any2stringadd[MacroInternalApi]

### Inherited by implicit conversion StringFormat from MacroInternalApi to StringFormat[MacroInternalApi]

### Inherited by implicit conversion Ensuring from MacroInternalApi to Ensuring[MacroInternalApi]

### Inherited by implicit conversion ArrowAssoc from MacroInternalApi to ArrowAssoc[MacroInternalApi]

### Macro Specific Additions

### TagInterop

### Types - Creation

### Ungrouped