Class

scala.tools.nsc.typechecker.Namers

TypeCompleter

Related Doc: package Namers

Permalink

abstract class TypeCompleter extends Global.LazyType

Source
Namers.scala
Linear Supertypes
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TypeCompleter
  2. LazyType
  3. Type
  4. Annotatable
  5. TypeApiImpl
  6. TypeApi
  7. AnyRef
  8. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TypeCompleter()

    Permalink

Type Members

  1. class FilterMapForeach extends reflect.internal.SymbolTable.FilterTypeCollector

    Permalink
    Definition Classes
    Type

Abstract Value Members

  1. abstract val tree: Global.Tree

    Permalink

Concrete Value Members

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

    Permalink

    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

    Permalink

    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

    Permalink
    Implicit information
    This member is added by an implicit conversion from Analyzer.TypeCompleter to any2stringadd[Analyzer.TypeCompleter] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Analyzer.TypeCompleter, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from Analyzer.TypeCompleter to ArrowAssoc[Analyzer.TypeCompleter] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. def <:<(that: Global.Type): Boolean

    Permalink
    Definition Classes
    Type → TypeApi
  6. def =:=(that: Global.Type): Boolean

    Permalink
    Definition Classes
    Type → TypeApi
  7. final def ==(arg0: Any): Boolean

    Permalink

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

    returns

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

    Definition Classes
    AnyRef → Any
  8. def addThrowsAnnotation(throwableSym: Global.Symbol): Global.Type

    Permalink
    Definition Classes
    Annotatable
  9. def annotations: List[Global.AnnotationInfo]

    Permalink
    Definition Classes
    Type → Annotatable
  10. final def asInstanceOf[T0]: T0

    Permalink

    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.

  11. def asSeenFrom(pre: Global.Type, clazz: Global.Symbol): Global.Type

    Permalink
    Definition Classes
    Type → TypeApi
  12. def atOwner(owner: Global.Symbol): Global.Type

    Permalink
    Definition Classes
    Type
  13. def baseClasses: List[Global.Symbol]

    Permalink
    Definition Classes
    Type → TypeApi
  14. def baseType(clazz: Global.Symbol): Global.Type

    Permalink
    Definition Classes
    Type → TypeApi
  15. def baseTypeIndex(sym: Global.Symbol): Int

    Permalink
    Definition Classes
    Type
  16. def baseTypeSeq: Global.BaseTypeSeq

    Permalink
    Definition Classes
    Type
  17. def baseTypeSeqDepth: Depth

    Permalink
    Definition Classes
    Type
  18. def betaReduce: Global.Type

    Permalink
    Definition Classes
    Type
  19. def boundSyms: Set[Global.Symbol]

    Permalink
    Definition Classes
    Type
  20. def bounds: Global.TypeBounds

    Permalink
    Definition Classes
    Type
  21. def clone(): AnyRef

    Permalink

    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

  22. def cloneInfo(owner: Global.Symbol): Global.Type

    Permalink
    Definition Classes
    Type
  23. def collect[T](pf: PartialFunction[Global.Type, T]): List[T]

    Permalink
    Definition Classes
    Type
  24. def companion: Global.Type

    Permalink
    Definition Classes
    TypeApiImpl → TypeApi
  25. def complete(sym: Global.Symbol): Unit

    Permalink
    Definition Classes
    Type
  26. def computeMemberType(sym: Global.Symbol): Global.Type

    Permalink
    Definition Classes
    Type
  27. def contains(sym: Global.Symbol): Boolean

    Permalink
    Definition Classes
    Type → TypeApi
  28. def dealias: Global.Type

    Permalink
    Definition Classes
    Type → TypeApi
  29. def dealiasWiden: Global.Type

    Permalink
    Definition Classes
    Type
  30. def dealiasWidenChain: List[Global.Type]

    Permalink
    Definition Classes
    Type
  31. def decl(name: Global.Name): Global.Symbol

    Permalink
    Definition Classes
    Type → TypeApi
  32. def declaration(name: Global.Name): Global.Symbol

    Permalink
    Definition Classes
    TypeApiImpl → TypeApi
  33. def declarations: Global.Scope

    Permalink
    Definition Classes
    TypeApiImpl → TypeApi
  34. def decls: Global.Scope

    Permalink
    Definition Classes
    Type → TypeApi
  35. def deconst: Global.Type

    Permalink
    Definition Classes
    Type
  36. def deferredMembers: Global.Scope

    Permalink
    Definition Classes
    Type
  37. def directObjectString: String

    Permalink
    Definition Classes
    Type
  38. def dummyArgs: List[Global.Type]

    Permalink
    Attributes
    protected
    Definition Classes
    Type
  39. def ensuring(cond: (Analyzer.TypeCompleter) ⇒ Boolean, msg: ⇒ Any): Analyzer.TypeCompleter

    Permalink
    Implicit information
    This member is added by an implicit conversion from Analyzer.TypeCompleter to Ensuring[Analyzer.TypeCompleter] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  40. def ensuring(cond: (Analyzer.TypeCompleter) ⇒ Boolean): Analyzer.TypeCompleter

    Permalink
    Implicit information
    This member is added by an implicit conversion from Analyzer.TypeCompleter to Ensuring[Analyzer.TypeCompleter] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  41. def ensuring(cond: Boolean, msg: ⇒ Any): Analyzer.TypeCompleter

    Permalink
    Implicit information
    This member is added by an implicit conversion from Analyzer.TypeCompleter to Ensuring[Analyzer.TypeCompleter] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  42. def ensuring(cond: Boolean): Analyzer.TypeCompleter

    Permalink
    Implicit information
    This member is added by an implicit conversion from Analyzer.TypeCompleter to Ensuring[Analyzer.TypeCompleter] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  43. final def eq(arg0: AnyRef): Boolean

    Permalink

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

    Tests whether the argument (that) 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
  44. def equals(arg0: Any): Boolean

    Permalink

    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
  45. def erasure: Global.Type

    Permalink
    Definition Classes
    TypeApiImpl → TypeApi
  46. def etaExpand: Global.Type

    Permalink
    Definition Classes
    Type → TypeApi
  47. def exists(p: (Global.Type) ⇒ Boolean): Boolean

    Permalink
    Definition Classes
    Type → TypeApi
  48. def filterAnnotations(p: (Global.AnnotationInfo) ⇒ Boolean): Global.Type

    Permalink
    Definition Classes
    Type → Annotatable
  49. final def finalResultType: Global.Type

    Permalink
    Definition Classes
    Type → TypeApi
  50. def finalize(): Unit

    Permalink

    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

  51. def find(p: (Global.Type) ⇒ Boolean): Option[Global.Type]

    Permalink
    Definition Classes
    Type → TypeApi
  52. def findMember(name: Global.Name, excludedFlags: Long, requiredFlags: Long, stableOnly: Boolean): Global.Symbol

    Permalink
    Definition Classes
    Type
  53. def findMembers(excludedFlags: Long, requiredFlags: Long): Global.Scope

    Permalink
    Definition Classes
    Type
  54. def firstParent: Global.Type

    Permalink
    Definition Classes
    Type
  55. def forceDirectSuperclasses: Unit

    Permalink
    Definition Classes
    TypeCompleter → Type
  56. def foreach(f: (Global.Type) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Type → TypeApi
  57. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from Analyzer.TypeCompleter to StringFormat[Analyzer.TypeCompleter] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  58. def getAnnotation(cls: Global.Symbol): Option[Global.AnnotationInfo]

    Permalink
    Definition Classes
    Annotatable
  59. final def getClass(): Class[_]

    Permalink

    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

  60. def hasAnnotation(cls: Global.Symbol): Boolean

    Permalink
    Definition Classes
    Annotatable
  61. def hashCode(): Int

    Permalink

    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
  62. def implicitMembers: Global.Scope

    Permalink
    Definition Classes
    Type
  63. def instantiateTypeParams(formals: List[Global.Symbol], actuals: List[Global.Type]): Global.Type

    Permalink
    Definition Classes
    Type
  64. def isComplete: Boolean

    Permalink
    Definition Classes
    LazyType → Type
  65. def isDependentMethodType: Boolean

    Permalink
    Definition Classes
    Type
  66. def isErroneous: Boolean

    Permalink
    Definition Classes
    Type
  67. def isError: Boolean

    Permalink
    Definition Classes
    Type
  68. def isFinalType: Boolean

    Permalink
    Definition Classes
    Type
  69. def isGround: Boolean

    Permalink
    Definition Classes
    Type
  70. def isHigherKinded: Boolean

    Permalink
    Definition Classes
    Type
  71. def isImmediatelyDependent: Boolean

    Permalink
    Definition Classes
    Type
  72. final def isInstanceOf[T0]: Boolean

    Permalink

    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
  73. def isSpliceable: Boolean

    Permalink
    Definition Classes
    TypeApiImpl
  74. final def isStable: Boolean

    Permalink
    Definition Classes
    Type
  75. def isStructuralRefinement: Boolean

    Permalink
    Definition Classes
    Type
  76. def isTrivial: Boolean

    Permalink
    Definition Classes
    Type
  77. final def isVolatile: Boolean

    Permalink
    Definition Classes
    Type
  78. def isWildcard: Boolean

    Permalink
    Definition Classes
    Type
  79. def kind: String

    Permalink
    Definition Classes
    LazyType → Type
  80. def load(sym: Global.Symbol): Unit

    Permalink
    Definition Classes
    Type
  81. def looselyMatches(that: Global.Type): Boolean

    Permalink
    Definition Classes
    Type
  82. def map(f: (Global.Type) ⇒ Global.Type): Global.Type

    Permalink
    Definition Classes
    Type → TypeApi
  83. def matches(that: Global.Type): Boolean

    Permalink
    Definition Classes
    Type
  84. def matchesPattern(that: Global.Type): Boolean

    Permalink
    Definition Classes
    Type
  85. def member(name: Global.Name): Global.Symbol

    Permalink
    Definition Classes
    Type → TypeApi
  86. def memberBasedOnName(name: Global.Name, excludedFlags: Long): Global.Symbol

    Permalink
    Definition Classes
    Type
  87. def memberInfo(sym: Global.Symbol): Global.Type

    Permalink
    Definition Classes
    Type
  88. def memberType(sym: Global.Symbol): Global.Type

    Permalink
    Definition Classes
    Type
  89. def members: Global.Scope

    Permalink
    Definition Classes
    Type → TypeApi
  90. def membersBasedOnFlags(excludedFlags: Long, requiredFlags: Long): Global.Scope

    Permalink
    Definition Classes
    Type
  91. def narrow: Global.Type

    Permalink
    Definition Classes
    Type
  92. final def ne(arg0: AnyRef): Boolean

    Permalink

    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
  93. def nonLocalMember(name: Global.Name): Global.Symbol

    Permalink
    Definition Classes
    Type
  94. def nonPrivateDecl(name: Global.Name): Global.Symbol

    Permalink
    Definition Classes
    Type
  95. def nonPrivateDecls: List[Global.Symbol]

    Permalink
    Definition Classes
    Type
  96. def nonPrivateMember(name: Global.Name): Global.Symbol

    Permalink
    Definition Classes
    Type
  97. def nonPrivateMemberAdmitting(name: Global.Name, admit: Long): Global.Symbol

    Permalink
    Definition Classes
    Type
  98. def nonPrivateMembers: Global.Scope

    Permalink
    Definition Classes
    Type
  99. def nonPrivateMembersAdmitting(admit: Long): Global.Scope

    Permalink
    Definition Classes
    Type
  100. def normalize: Global.Type

    Permalink
    Definition Classes
    Type → TypeApi
  101. final def notify(): Unit

    Permalink

    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

  102. final def notifyAll(): Unit

    Permalink

    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

  103. def objectPrefix: String

    Permalink
    Attributes
    protected
    Definition Classes
    Type
  104. final def orElse(alt: ⇒ Global.Type): Global.Type

    Permalink
    Definition Classes
    Type → TypeApi
    Annotations
    @inline()
  105. def packagePrefix: String

    Permalink
    Attributes
    protected
    Definition Classes
    Type
  106. def paramLists: List[List[Global.Symbol]]

    Permalink
    Definition Classes
    TypeApiImpl → TypeApi
  107. def paramSectionCount: Int

    Permalink
    Definition Classes
    Type
  108. def paramTypes: List[Global.Type]

    Permalink
    Definition Classes
    Type
  109. def params: List[Global.Symbol]

    Permalink
    Definition Classes
    Type
  110. def paramss: List[List[Global.Symbol]]

    Permalink
    Definition Classes
    Type → TypeApi
  111. def parents: List[Global.Type]

    Permalink
    Definition Classes
    Type
  112. def prefix: Global.Type

    Permalink
    Definition Classes
    Type
  113. def prefixChain: List[Global.Type]

    Permalink
    Definition Classes
    Type
  114. def prefixString: String

    Permalink
    Definition Classes
    Type
  115. def removeAnnotation(cls: Global.Symbol): Global.Type

    Permalink
    Definition Classes
    Annotatable
  116. def resultApprox: Global.Type

    Permalink
    Definition Classes
    Type
  117. def resultType(actuals: List[Global.Type]): Global.Type

    Permalink
    Definition Classes
    Type
  118. def resultType: Global.Type

    Permalink
    Definition Classes
    Type → TypeApi
  119. def safeToString: String

    Permalink
    Definition Classes
    LazyType → Type
  120. def setAnnotations(annots: List[Global.AnnotationInfo]): Global.Type

    Permalink
    Definition Classes
    Type → Annotatable
  121. def skolemizeExistential: Global.Type

    Permalink
    Definition Classes
    Type
  122. def skolemizeExistential(owner: Global.Symbol, origin: AnyRef): Global.Type

    Permalink
    Definition Classes
    Type
  123. def skolemsExceptMethodTypeParams: List[Global.Symbol]

    Permalink
    Definition Classes
    Type
  124. def stat_<:<(that: Global.Type): Boolean

    Permalink
    Definition Classes
    Type
  125. def staticAnnotations: collection.immutable.List[Global.AnnotationInfo]

    Permalink
    Definition Classes
    Annotatable
  126. def subst(from: List[Global.Symbol], to: List[Global.Type]): Global.Type

    Permalink
    Definition Classes
    Type
  127. def substSym(from: List[Global.Symbol], to: List[Global.Symbol]): Global.Type

    Permalink
    Definition Classes
    Type
  128. def substThis(from: Global.Symbol, to: Global.Symbol): Global.Type

    Permalink
    Definition Classes
    Type
  129. def substThis(from: Global.Symbol, to: Global.Type): Global.Type

    Permalink
    Definition Classes
    Type
  130. def substThisAndSym(from: Global.Symbol, to: Global.Type, symsFrom: List[Global.Symbol], symsTo: List[Global.Symbol]): Global.Type

    Permalink
    Definition Classes
    Type
  131. def substituteSymbols(from: List[Global.Symbol], to: List[Global.Symbol]): Global.Type

    Permalink
    Definition Classes
    TypeApiImpl → TypeApi
  132. def substituteTypes(from: List[Global.Symbol], to: List[Global.Type]): Global.Type

    Permalink
    Definition Classes
    TypeApiImpl → TypeApi
  133. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  134. def takesTypeArgs: Boolean

    Permalink
    Definition Classes
    Type → TypeApi
  135. def termSymbol: Global.Symbol

    Permalink
    Definition Classes
    Type → TypeApi
  136. def termSymbolDirect: Global.Symbol

    Permalink
    Definition Classes
    Type
  137. def throwsAnnotations(): List[Global.Symbol]

    Permalink
    Definition Classes
    Annotatable
  138. def toLongString: String

    Permalink
    Definition Classes
    Type
  139. final def toString(): String

    Permalink

    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
    Type → AnyRef → Any
  140. def trimPrefix(str: String): String

    Permalink
    Definition Classes
    Type
  141. def typeArgs: List[Global.Type]

    Permalink
    Definition Classes
    Type → TypeApi
  142. def typeArguments: List[Global.Type]

    Permalink
    Definition Classes
    TypeApiImpl
  143. def typeConstructor: Global.Type

    Permalink
    Definition Classes
    Type → TypeApi
  144. def typeOfThis: Global.Type

    Permalink
    Definition Classes
    Type
  145. def typeParams: List[Global.Symbol]

    Permalink
    Definition Classes
    Type → TypeApi
  146. def typeSymbol: Global.Symbol

    Permalink
    Definition Classes
    Type → TypeApi
  147. def typeSymbolDirect: Global.Symbol

    Permalink
    Definition Classes
    Type
  148. def underlying: Global.Type

    Permalink
    Definition Classes
    Type
  149. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  152. def weak_<:<(that: Global.Type): Boolean

    Permalink
    Definition Classes
    Type → TypeApi
  153. def widen: Global.Type

    Permalink
    Definition Classes
    Type → TypeApi
  154. final def withAnnotation(annot: Global.AnnotationInfo): Global.Type

    Permalink
    Definition Classes
    Annotatable
  155. def withAnnotations(annots: List[Global.AnnotationInfo]): Global.Type

    Permalink
    Definition Classes
    Type → Annotatable
  156. def withFilter(p: (Global.Type) ⇒ Boolean): FilterMapForeach

    Permalink
    Definition Classes
    Type
  157. def withoutAnnotations: Global.Type

    Permalink
    Definition Classes
    Type → Annotatable
  158. def [B](y: B): (Analyzer.TypeCompleter, B)

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

Inherited from Global.LazyType

Inherited from Global.Type

Inherited from Global.TypeApiImpl

Inherited from Global.TypeApi

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from Analyzer.TypeCompleter to any2stringadd[Analyzer.TypeCompleter]

Inherited by implicit conversion StringFormat from Analyzer.TypeCompleter to StringFormat[Analyzer.TypeCompleter]

Inherited by implicit conversion Ensuring from Analyzer.TypeCompleter to Ensuring[Analyzer.TypeCompleter]

Inherited by implicit conversion ArrowAssoc from Analyzer.TypeCompleter to ArrowAssoc[Analyzer.TypeCompleter]

Ungrouped