Scala Reflection Library2.12.4 < Back
 

# Packages

-  package root
  Definition Classes
    root
-  package scala
  Definition Classes
    root
-  package reflect
  Definition Classes
    scala
-  package runtime

  Entry points into runtime reflection.

  Entry points into runtime reflection. See the overview page for details on how to use them.

  Definition Classes
    reflect
-  class JavaUniverse extends internal.SymbolTable with JavaUniverseForce with ReflectSetup with SymbolTable

  An implementation of scala.reflect.api.Universe for runtime reflection using JVM classloaders.

  An implementation of scala.reflect.api.Universe for runtime reflection using JVM classloaders.

  Should not be instantiated directly, use scala.reflect.runtime.universe instead.

  Definition Classes
    runtime
- AbstractTypeRef
- AbstractTypeSymbol
- AliasTypeRef
- AliasTypeSymbol
- Alternative
- Alternative
- AlternativeApi
- AlternativeExtractor
- Annotatable
- Annotated
- Annotated
- AnnotatedApi
- AnnotatedExtractor
- AnnotatedType
- AnnotatedType
- AnnotatedTypeApi
- AnnotatedTypeExtractor
- Annotation
- AnnotationApi
- AnnotationChecker
- AnnotationExtractor
- AnnotationFilter
- AnnotationInfo
- AnnotationInfo
- AntiPolyType
- AppliedTypeTree
- AppliedTypeTree
- AppliedTypeTreeApi
- AppliedTypeTreeExtractor
- AppliedTypeVar
- Apply
- Apply
- ApplyApi
- ApplyDynamic
- ApplyExtractor
- ApplyImplicitView
- ApplyToImplicitArgs
- ApproximateDependentMap
- ArgsTypeRef
- ArrayAnnotArg
- ArrayAnnotArg
- ArrayArgumentApi
- ArrayArgumentExtractor
- ArrayTypeRef
- ArrayValue
- AsSeenFromMap
- Assign
- Assign
- AssignApi
- AssignExtractor
- AssignOrNamedArg
- AssignOrNamedArg
- AssignOrNamedArgApi
- AssignOrNamedArgExtractor
- AtBoundIdentifierAttachment
- Attachable
- BackquotedIdentifierAttachment
- BaseTypeSeq
- Bind
- Bind
- BindApi
- BindExtractor
- Block
- Block
- BlockApi
- BlockExtractor
- BooleanFlag
- BoundedWildcardType
- BoundedWildcardType
- BoundedWildcardTypeApi
- BoundedWildcardTypeExtractor
- CannotHaveAttrs
- CaseDef
- CaseDef
- CaseDefApi
- CaseDefExtractor
- ChangeOwnerTraverser
- ClassDef
- ClassDef
- ClassDefApi
- ClassDefExtractor
- ClassInfoType
- ClassInfoType
- ClassInfoTypeApi
- ClassInfoTypeExtractor
- ClassMirror
- ClassSymbol
- ClassSymbolApi
- ClassUnwrapper
- ClassfileAnnotArg
- CodePrinter
- CollectTreeTraverser
- CollectTypeCollector
- CommonNames
- CommonOwnerMap
- CompatApi
- CompatToken
- CompilationUnit
- CompilationUnitContextApi
- CompleteAnnotationInfo
- CompoundType
- CompoundType
- CompoundTypeApi
- CompoundTypeTree
- CompoundTypeTree
- CompoundTypeTreeApi
- CompoundTypeTreeExtractor
- CompoundTypeTreeOriginalAttachment
- ConsoleWriter
- Constant
- Constant
- ConstantApi
- ConstantExtractor
- ConstantType
- ConstantType
- ConstantTypeApi
- ConstantTypeExtractor
- ContainsCollector
- CyclicReference
- DefDef
- DefDef
- DefDefApi
- DefDefExtractor
- DefTree
- DefTreeApi
- DefaultPosAssigner
- DefinitionsApi
- DefinitionsClass
- DelambdafyTarget
- EmptyScope
- EmptyTree
- ErasedValueType
- ErasedValueType
- ErroneousAnnotation
- ErroneousCollector
- ErrorScope
- ErrorType
- ExistentialExtrapolation
- ExistentialType
- ExistentialType
- ExistentialTypeApi
- ExistentialTypeExtractor
- ExistentialTypeTree
- ExistentialTypeTree
- ExistentialTypeTreeApi
- ExistentialTypeTreeExtractor
- Expr
- FieldMirror
- FilterTreeTraverser
- FilterTypeCollector
- FindTreeTraverser
- FindTypeCollector
- FixedMirrorTreeCreator
- FixedMirrorTypeCreator
- Flag
- FlagAgnosticCompleter
- FlagAssigningCompleter
- FlagOps
- FlagValues
- ForAttachment
- ForEachTypeTraverser
- ForeachPartialTreeTraverser
- ForeachTreeTraverser
- FreeSymbol
- FreeTermSymbol
- FreeTermSymbolApi
- FreeTypeSymbol
- FreeTypeSymbolApi
- FreshNameExtractor
- Function
- Function
- FunctionApi
- FunctionExtractor
- GenPolyType
- GenericApply
- GenericApplyApi
- HKTypeVar
- HasTypeMember
- Ident
- Ident
- IdentApi
- IdentExtractor
- If
- If
- IfApi
- IfExtractor
- ImplDef
- ImplDefApi
- Import
- Import
- ImportApi
- ImportExtractor
- ImportSelector
- ImportSelector
- ImportSelectorApi
- ImportSelectorExtractor
- ImportType
- ImportableAttachment
- Importer
- InfoTransformer
- InlineAnnotatedAttachment
- InlineCallsiteAttachment
- InstanceMirror
- InstantiateDependentMap
- InternalApi
- InternalTreeCopierOps
- IsDependentCollector
- JavaArgumentApi
- JavaClassCompleter
- JavaKeywords
- JavaMethodType
- JavaMirror
- KeepOnlyTypeConstraints
- Keywords
- Kind
- Kind
- KindErrors
- KnownDirectSubclassesCalled
- LabelDef
- LabelDef
- LabelDefApi
- LabelDefExtractor
- LazyAnnotationInfo
- LazyPackageType
- LazyPolyType
- LazyTreeCopier
- LazyType
- Liftable
- Literal
- Literal
- LiteralAnnotArg
- LiteralAnnotArg
- LiteralApi
- LiteralArgumentApi
- LiteralArgumentExtractor
- LiteralExtractor
- Locator
- LookupAmbiguous
- LookupInaccessible
- LookupNotFound
- LookupSucceeded
- MacroCompatApi
- MacroInternalApi
- MalformedType
- MappedBaseTypeSeq
- Match
- Match
- MatchApi
- MatchExtractor
- MemberDef
- MemberDefApi
- MemberScopeApi
- MethodMirror
- MethodSymbol
- MethodSymbolApi
- MethodType
- MethodType
- MethodTypeApi
- MethodTypeExtractor
- MissingAliasControl
- MissingTypeControl
- Modifiers
- Modifiers
- ModifiersApi
- ModifiersExtractor
- ModuleClassSymbol
- ModuleDef
- ModuleDef
- ModuleDefApi
- ModuleDefExtractor
- ModuleMirror
- ModuleSymbol
- ModuleSymbolApi
- ModuleTypeRef
- Name
- NameApi
- NameLookup
- NameOps
- NameTree
- NameTreeApi
- NamedType
- NamesApi
- NestedAnnotArg
- NestedAnnotArg
- NestedArgumentApi
- NestedArgumentExtractor
- New
- New
- NewApi
- NewExtractor
- NoArgsTypeRef
- NoCommonType
- NoInlineCallsiteAttachment
- NoPrefix
- NoSymbol
- NoType
- NonClassTypeRef
- NullaryMethodType
- NullaryMethodType
- NullaryMethodTypeApi
- NullaryMethodTypeExtractor
- OuterArgCanBeElided
- OverloadedType
- PackageClassInfoType
- PackageClassSymbol
- PackageDef
- PackageDef
- PackageDefApi
- PackageDefExtractor
- PackageObjectClassSymbol
- PackageScope
- PackageTypeRef
- PerRunReporting
- PerRunReportingBase
- PlainAttachment
- PolyType
- PolyType
- PolyTypeApi
- PolyTypeExtractor
- PosAssigner
- ProperTypeKind
- ProperTypeKind
- QualTypeSymAttachment
- Quasiquote
- Range
- RawTreePrinter
- RecoverableCyclicReference
- RefTree
- RefTree
- RefTreeApi
- RefTreeExtractor
- ReferenceToBoxed
- ReferenceToBoxed
- ReferenceToBoxedApi
- ReferenceToBoxedExtractor
- RefinedType
- RefinedType
- RefinedType0
- RefinedTypeApi
- RefinedTypeExtractor
- RefinementClassSymbol
- RefinementTypeRef
- ReflectStats
- ReflectiveMirror
- ReificationSupportApi
- ReificationSupportImpl
- RepeatedType
- Return
- Return
- ReturnApi
- ReturnExtractor
- RewrappingTypeProxy
- RootSymbol
- Roots
- RootsBase
- Run
- RunContextApi
- RunReporting
- RuntimeClassApi
- RuntimeMirror
- SAMFunction
- ScalaSigBytes
- Scope
- Scope
- ScopeApi
- ScopeEntry
- Select
- Select
- SelectApi
- SelectExtractor
- SelectFromTypeTree
- SelectFromTypeTree
- SelectFromTypeTreeApi
- SelectFromTypeTreeExtractor
- SimpleTypeProxy
- SingleType
- SingleType
- SingleTypeApi
- SingleTypeExtractor
- SingletonType
- SingletonTypeApi
- SingletonTypeTree
- SingletonTypeTree
- SingletonTypeTreeApi
- SingletonTypeTreeExtractor
- StandardImporter
- StandardLiftableInstances
- StandardTypes
- StandardUnliftableInstances
- Star
- Star
- StarApi
- StarExtractor
- StaticallyAnnotatedType
- StrictTreeCopier
- StubClassSymbol
- StubSymbol
- StubTermSymbol
- SubType
- SubTypePair
- SubpatternsAttachment
- SubstMap
- SubstSymMap
- SubstThisMap
- SubstTypeMap
- SubstWildcardMap
- Super
- Super
- SuperApi
- SuperExtractor
- SuperType
- SuperType
- SuperTypeApi
- SuperTypeExtractor
- SymLoader
- SymTree
- SymTreeApi
- Symbol
- SymbolApi
- SymbolContextApiImpl
- SymbolNames
- SymbolOps
- SymbolTableInternal
- SynchronizedBaseTypeSeq
- SynchronizedClassSymbol
- SynchronizedMethodSymbol
- SynchronizedModuleClassSymbol
- SynchronizedModuleSymbol
- SynchronizedScope
- SynchronizedSymbol
- SynchronizedTermSymbol
- SynchronizedTypeSymbol
- SyntheticUnitAttachment
- Template
- Template
- TemplateApi
- TemplateExtractor
- TemplateMirror
- TermName
- TermName
- TermNameApi
- TermNameExtractor
- TermNames
- TermNamesApi
- TermSymbol
- TermSymbolApi
- TermTree
- TermTreeApi
- This
- This
- ThisApi
- ThisExtractor
- ThisSubstituter
- ThisType
- ThisType
- ThisTypeApi
- ThisTypeExtractor
- ThreadLocalStorage
- Throw
- Throw
- ThrowApi
- ThrowExtractor
- ThrownException
- TopClassCompleter
- Transformer
- Traverser
- Tree
- TreeApi
- TreeContextApiImpl
- TreeCopierOps
- TreeGen
- TreePrinter
- TreeReplacer
- TreeStackTraverser
- TreeSubstituter
- TreeSymSubstTraverser
- TreeSymSubstituter
- TreeTypeSubstituter
- Try
- Try
- TryApi
- TryExtractor
- TwoWayCache
- TypTree
- TypTreeApi
- Type
- TypeApi
- TypeApiImpl
- TypeApply
- TypeApply
- TypeApplyApi
- TypeApplyExtractor
- TypeBounds
- TypeBounds
- TypeBoundsApi
- TypeBoundsExtractor
- TypeBoundsTree
- TypeBoundsTree
- TypeBoundsTreeApi
- TypeBoundsTreeExtractor
- TypeCollector
- TypeConKind
- TypeConKind
- TypeConstraint
- TypeDef
- TypeDef
- TypeDefApi
- TypeDefExtractor
- TypeError
- TypeMap
- TypeMapTreeSubstituter
- TypeName
- TypeName
- TypeNameApi
- TypeNameExtractor
- TypeNames
- TypeNamesApi
- TypeParamVarargsAttachment
- TypeRef
- TypeRef
- TypeRefApi
- TypeRefExtractor
- TypeSkolem
- TypeSymbol
- TypeSymbolApi
- TypeTag
- TypeTraverser
- TypeTraverserWithResult
- TypeTree
- TypeTree
- TypeTreeApi
- TypeTreeExtractor
- TypeUnwrapper
- TypeVar
- TypeVar
- Typed
- Typed
- TypedApi
- TypedExtractor
- TypedLocator
- UnApply
- UnApply
- UnApplyApi
- UnApplyExtractor
- UnderConstructionTransformer
- UndoLog
- UniqueConstantType
- UniqueErasedValueType
- UniqueSingleType
- UniqueSuperType
- UniqueThisType
- UniqueType
- UniqueTypeBounds
- Unliftable
- UnmappableAnnotArg
- UnmappableAnnotation
- UnmappableTree
- UntouchableTypeVar
- UseInvokeSpecial
- ValDef
- ValDef
- ValDefApi
- ValDefExtractor
- ValOrDefDef
- ValOrDefDef
- ValOrDefDefApi
- ValidateException
- ValueClassDefinitions
- VarianceValidator
- WeakTypeTag
- WildcardType
- abstractTypesToBounds
- adaptToNewRunMap
- baseClassesCycleMonitor
- binarynme
- definitions
- dropIllegalStarTypes
- dropSingletonType
- fulltpnme
- inferKind
- nme
- noPrint
- noSelfType
- normalizeAliases
- pendingSuperCall
- perRunCaches
- tpnme
- traceSymbols
- treeInfo
- typeDebug
- typeVarToOriginMap
- unwrapToClass
- unwrapToStableClass
- unwrapWrapperTypes
- wildcardExtrapolation
- wildcardToTypeVarMap

o

scala.reflect.runtime.JavaUniverse

# treeInfo 

###

#### object treeInfo extends TreeInfo

Definition Classes
  JavaUniverse → SymbolTable
Source
  JavaUniverse.scala

Linear Supertypes
TreeInfo, AnyRef, Any
 
Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. treeInfo
2. TreeInfo
3. AnyRef
4. Any

1. Hide All
2. Show All

Visibility

1. Public
2. All

### Type Members

1.  class Applied extends AnyRef

   Applications in Scala can have one of the following shapes:

   Applications in Scala can have one of the following shapes:

   1) naked core: Ident(_) or Select(_, _) or basically anything else 2) naked core with targs: TypeApply(core, targs) or AppliedTypeTree(core, targs) 3) apply or several applies wrapping a core: Apply(core, _), or Apply(Apply(core, _), _), etc

   This class provides different ways to decompose applications and simplifies their analysis.

   ***Examples*** (TypeApply in the examples can be replaced with AppliedTypeTree)

   Ident(foo): * callee = Ident(foo) * core = Ident(foo) * targs = Nil * argss = Nil

   TypeApply(foo, List(targ1, targ2...)) * callee = TypeApply(foo, List(targ1, targ2...)) * core = foo * targs = List(targ1, targ2...) * argss = Nil

   Apply(foo, List(arg1, arg2...)) * callee = foo * core = foo * targs = Nil * argss = List(List(arg1, arg2...))

   Apply(Apply(foo, List(arg21, arg22, ...)), List(arg11, arg12...)) * callee = foo * core = foo * targs = Nil * argss = List(List(arg11, arg12...), List(arg21, arg22, ...))

   Apply(Apply(TypeApply(foo, List(targs1, targs2, ...)), List(arg21, arg22, ...)), List(arg11, arg12...)) * callee = TypeApply(foo, List(targs1, targs2, ...)) * core = foo * targs = Nil * argss = List(List(arg11, arg12...), List(arg21, arg22, ...))

   Definition Classes
     TreeInfo
2.  class DynamicApplicationExtractor extends AnyRef
   Definition Classes
     TreeInfo
3.  abstract class SeeThroughBlocks[T] extends AnyRef

   Some handy extractors for spotting trees through the the haze of irrelevant braces: i.e.

   Some handy extractors for spotting trees through the the haze of irrelevant braces: i.e. Block(Nil, SomeTree) should not keep us from seeing SomeTree.

   Definition Classes
     TreeInfo

### 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 val SYNTH_CASE_FLAGS: Int
   Definition Classes
     TreeInfo
5.  def admitsTypeSelection(tree: JavaUniverse.Tree): Boolean

   Is `tree` either a non-volatile type, or a path that does not include any of:

   Is `tree` either a non-volatile type, or a path that does not include any of:

   - a reference to a mutable variable/field
   - a reference to a by-name parameter
   - a member selection on a volatile type (Spec: 3.6 Volatile Types)?

   Such a tree is a suitable target for type selection.

   Definition Classes
     TreeInfo
6.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
7.  def assignmentToMaybeNamedArg(tree: JavaUniverse.Tree): JavaUniverse.Tree

   Translates an Assign(_, _) node to AssignOrNamedArg(_, _) if the lhs is a simple ident.

   Translates an Assign(_, _) node to AssignOrNamedArg(_, _) if the lhs is a simple ident. Otherwise returns unchanged.

   Definition Classes
     TreeInfo
8.  def catchesThrowable(cdef: JavaUniverse.CaseDef): Boolean

   Does this CaseDef catch Throwable?

   Does this CaseDef catch Throwable?

   Definition Classes
     TreeInfo
9.  def clone(): AnyRef
   Attributes
     protected[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @native() @throws( ... )
10.  def dissectApplied(tree: JavaUniverse.Tree): Applied

    Returns a wrapper that knows how to destructure and analyze applications.

    Returns a wrapper that knows how to destructure and analyze applications.

    Definition Classes
      TreeInfo
11.  def effectivePatternArity(args: List[JavaUniverse.Tree]): Int

        //------------------------ => effectivePatternArity(args)
        case Extractor(a)          => 1
        case Extractor(a, b)       => 2
        case Extractor((a, b))     => 2
        case Extractor(a @ (b, c)) => 2

    Definition Classes
      TreeInfo
12.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
13.  def equals(arg0: Any): Boolean
    Definition Classes
      AnyRef → Any
14.  def finalize(): Unit
    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )
15.  def firstConstructor(stats: List[JavaUniverse.Tree]): JavaUniverse.Tree

    The first constructor definitions in `stats`

    The first constructor definitions in `stats`

    Definition Classes
      TreeInfo
16.  def firstConstructorArgs(stats: List[JavaUniverse.Tree]): List[JavaUniverse.Tree]

    The arguments to the first constructor in `stats`.

    The arguments to the first constructor in `stats`.

    Definition Classes
      TreeInfo
17.  def firstDefinesClassOrObject(trees: List[JavaUniverse.Tree], name: JavaUniverse.Name): Boolean

    Does list of trees start with a definition of a class of module with given name (ignoring imports)

    Does list of trees start with a definition of a class of module with given name (ignoring imports)

    Definition Classes
      TreeInfo
18.  def flattenedPatternArgs(args: List[JavaUniverse.Tree]): List[JavaUniverse.Tree]
    Definition Classes
      TreeInfo
19.  def foreachMethodParamAndArg(params: List[JavaUniverse.Symbol], args: List[JavaUniverse.Tree])(f: (JavaUniverse.Symbol, JavaUniverse.Tree) ⇒ Unit): Boolean
    Definition Classes
      TreeInfo
20.  final def getClass(): Class[_]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
21.  val global: JavaUniverse.this.type
    Definition Classes
      treeInfo → TreeInfo
22.  def hasSynthCaseSymbol(t: JavaUniverse.Tree): Boolean
    Definition Classes
      TreeInfo
23.  def hasUntypedPreSuperFields(stats: List[JavaUniverse.Tree]): Boolean
    Definition Classes
      TreeInfo
24.  def hasVolatileType(tree: JavaUniverse.Tree): Boolean

    Is `tree`'s type volatile? (Ignored if its symbol has the @uncheckedStable annotation.)

    Is `tree`'s type volatile? (Ignored if its symbol has the @uncheckedStable annotation.)

    Definition Classes
      TreeInfo
25.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
26.  def isAbsTypeDef(tree: JavaUniverse.Tree): Boolean
    Definition Classes
      TreeInfo
27.  def isAliasTypeDef(tree: JavaUniverse.Tree): Boolean
    Definition Classes
      TreeInfo
28.  def isApplyDynamicName(name: JavaUniverse.Name): Boolean
    Definition Classes
      TreeInfo
29.  def isByNameParamType(tpt: JavaUniverse.Tree): Boolean

    Is tpt a by-name parameter type of the form => T?

    Is tpt a by-name parameter type of the form => T?

    Definition Classes
      TreeInfo
30.  def isCatchCase(cdef: JavaUniverse.CaseDef): Boolean

    Is this pattern node a catch-all or type-test pattern?

    Is this pattern node a catch-all or type-test pattern?

    Definition Classes
      TreeInfo
31.  def isConstructorWithDefault(t: JavaUniverse.Tree): Boolean
    Definition Classes
      TreeInfo
32.  def isDeclarationOrTypeDef(tree: JavaUniverse.Tree): Boolean

    Is tree a declaration or type definition?

    Is tree a declaration or type definition?

    Definition Classes
      TreeInfo
33.  def isDefaultCase(cdef: JavaUniverse.CaseDef): Boolean

    Is this pattern node a catch-all (wildcard or variable) pattern?

    Is this pattern node a catch-all (wildcard or variable) pattern?

    Definition Classes
      TreeInfo
34.  def isDefaultGetter(tree: JavaUniverse.Tree): Boolean
    Definition Classes
      TreeInfo
35.  def isEarlyDef(tree: JavaUniverse.Tree): Boolean
    Definition Classes
      TreeInfo
36.  def isEarlyValDef(tree: JavaUniverse.Tree): Boolean
    Definition Classes
      TreeInfo
37.  def isExprSafeToInline(tree: JavaUniverse.Tree): Boolean

    Is tree an expression which can be inlined without affecting program semantics?

    Is tree an expression which can be inlined without affecting program semantics?

    Note that this is not called "isExprPure" since purity (lack of side-effects) is not the litmus test. References to modules and lazy vals are side-effecting, both because side-effecting code may be executed and because the first reference takes a different code path than all to follow; but they are safe to inline because the expression result from evaluating them is always the same.

    Definition Classes
      TreeInfo
38.  def isFunctionMissingParamType(tree: JavaUniverse.Tree): Boolean
    Definition Classes
      TreeInfo
39.  def isGuardedCase(cdef: JavaUniverse.CaseDef): Boolean

    Is this case guarded?

    Is this case guarded?

    Definition Classes
      TreeInfo
40.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
41.  def isInterfaceMember(tree: JavaUniverse.Tree): Boolean

    Is tree legal as a member definition of an interface?

    Is tree legal as a member definition of an interface?

    Definition Classes
      TreeInfo
42.  def isLeftAssoc(operator: JavaUniverse.Name): Boolean

    Is name a left-associative operator?

    Is name a left-associative operator?

    Definition Classes
      TreeInfo
43.  def isMacroApplication(tree: JavaUniverse.Tree): Boolean
    Definition Classes
      TreeInfo
44.  def isMacroApplicationOrBlock(tree: JavaUniverse.Tree): Boolean
    Definition Classes
      TreeInfo
45.  def isNullaryInvocation(tree: JavaUniverse.Tree): Boolean
    Definition Classes
      TreeInfo
46.  def isPath(tree: JavaUniverse.Tree, allowVolatile: Boolean): Boolean

    Is `tree` a path, defined as follows? (Spec: 3.1 Paths)

    Is `tree` a path, defined as follows? (Spec: 3.1 Paths)

    - The empty path ε (which cannot be written explicitly in user programs). - C.this, where C references a class. - p.x where p is a path and x is a stable member of p. - C.super.x or C.super[M].x where C references a class and x references a stable member of the super class or designated parent class M of C.

    NOTE: Trees with errors are (mostly) excluded.

    Path ::= StableId | [id ‘.’] this

    Definition Classes
      TreeInfo
47.  def isPureDef(tree: JavaUniverse.Tree): Boolean

    Is tree a pure (i.e.

    Is tree a pure (i.e. non-side-effecting) definition?

    Definition Classes
      TreeInfo
48.  def isPureExprForWarningPurposes(tree: JavaUniverse.Tree): Boolean

    As if the name of the method didn't give it away, this logic is designed around issuing helpful warnings and minimizing spurious ones.

    As if the name of the method didn't give it away, this logic is designed around issuing helpful warnings and minimizing spurious ones. That means don't reuse it for important matters like inlining decisions.

    Definition Classes
      TreeInfo
49.  def isQualifierSafeToElide(tree: JavaUniverse.Tree): Boolean
    Definition Classes
      TreeInfo
50.  def isRepeatedParamType(tpt: JavaUniverse.Tree): Boolean

    Is tpt a vararg type of the form T* ?

    Is tpt a vararg type of the form T* ?

    Definition Classes
      TreeInfo
51.  def isSelfConstrCall(tree: JavaUniverse.Tree): Boolean

    Is tree a self constructor call this(...)? I.e.

    Is tree a self constructor call this(...)? I.e. a call to a constructor of the same object?

    Definition Classes
      TreeInfo
52.  def isSelfOrSuperConstrCall(tree: JavaUniverse.Tree): Boolean

    Is tree a self or super constructor call?

    Is tree a self or super constructor call?

    Definition Classes
      TreeInfo
53.  def isSequenceValued(tree: JavaUniverse.Tree): Boolean

    Is this pattern node a sequence-valued pattern?

    Is this pattern node a sequence-valued pattern?

    Definition Classes
      TreeInfo
54.  def isStableIdentifier(tree: JavaUniverse.Tree, allowVolatile: Boolean): Boolean

    Is `tree` a stable identifier, a path which ends in an identifier?

    Is `tree` a stable identifier, a path which ends in an identifier?

    StableId ::= id | Path ‘.’ id | [id ’.’] ‘super’ [‘[’ id ‘]’] ‘.’ id

    Definition Classes
      TreeInfo
55.  def isStableIdentifierPattern(tree: JavaUniverse.Tree): Boolean

    Is `tree` admissible as a stable identifier pattern (8.1.5 Stable Identifier Patterns)?

    Is `tree` admissible as a stable identifier pattern (8.1.5 Stable Identifier Patterns)?

    We disregard volatility, as it's irrelevant in patterns (scala/bug#6815)

    Definition Classes
      TreeInfo
56.  def isStableMemberOf(sym: JavaUniverse.Symbol, tree: JavaUniverse.Tree, allowVolatile: Boolean): Boolean

    Assuming `sym` is a member of `tree`, is it a "stable member"?

    Assuming `sym` is a member of `tree`, is it a "stable member"?

    Stable members are packages or members introduced by object definitions or by value definitions of non-volatile types (§3.6).

    Definition Classes
      TreeInfo
57.  def isStar(x: JavaUniverse.Tree): Boolean

    Is this tree a Star(_) after removing bindings?

    Is this tree a Star(_) after removing bindings?

    Definition Classes
      TreeInfo
58.  def isSuperConstrCall(tree: JavaUniverse.Tree): Boolean

    Is tree a super constructor call?

    Is tree a super constructor call?

    Definition Classes
      TreeInfo
59.  def isSwitchAnnotation(tpe: JavaUniverse.Type): Boolean

    a Match(Typed(_, tpt), _) must be translated into a switch if isSwitchAnnotation(tpt.tpe)

    a Match(Typed(_, tpt), _) must be translated into a switch if isSwitchAnnotation(tpt.tpe)

    Definition Classes
      TreeInfo
60.  def isSynthCaseSymbol(sym: JavaUniverse.Symbol): Boolean
    Definition Classes
      TreeInfo
61.  def isSyntheticCase(cdef: JavaUniverse.CaseDef): Boolean

    Is this CaseDef synthetically generated, e.g.

    Is this CaseDef synthetically generated, e.g. by `MatchTranslation.translateTry`?

    Definition Classes
      TreeInfo
62.  def isSyntheticDefaultCase(cdef: JavaUniverse.CaseDef): Boolean

    Is this pattern node a synthetic catch-all case, added during PartialFunction synthesis before we know whether the user provided cases are exhaustive.

    Is this pattern node a synthetic catch-all case, added during PartialFunction synthesis before we know whether the user provided cases are exhaustive.

    Definition Classes
      TreeInfo
63.  def isTraitRef(tree: JavaUniverse.Tree): Boolean
    Definition Classes
      TreeInfo
64.  def isVarPattern(pat: JavaUniverse.Tree): Boolean

    Is tree a variable pattern?

    Is tree a variable pattern?

    Definition Classes
      TreeInfo
65.  def isVarPatternDeep(tree: JavaUniverse.Tree): Boolean

    Does this tree represent an irrefutable pattern match in the position `for { <tree> <- expr }` based only on information at the `parser` phase? To qualify, there may be no subtree that will be interpreted as a Stable Identifier Pattern, nor any type tests, even on TupleN.

    Does this tree represent an irrefutable pattern match in the position `for { <tree> <- expr }` based only on information at the `parser` phase? To qualify, there may be no subtree that will be interpreted as a Stable Identifier Pattern, nor any type tests, even on TupleN. See scala/bug#6968.

    For instance:

        (foo @ (bar @ _)) = 0

    is a not a variable pattern; if only binds names.

    The following are not variable patterns.

        `bar`
        Bar
        (a, b)
        _: T

    If the pattern is a simple identifier, it is always a variable pattern. For example, the following introduce new bindings:

        for { X <- xs } yield X
        for { `backquoted` <- xs } yield `backquoted`

    Note that this differs from a case clause:

        object X
        scrut match {
           case X =>  // case _ if scrut == X
        }

    Background: https://groups.google.com/d/msg/scala-internals/qwa_XOw_7Ks/IktkeTBYqg0J

    Definition Classes
      TreeInfo
66.  def isVariableOrGetter(tree: JavaUniverse.Tree): Boolean

    Is tree a mutable variable, or the getter of a mutable field?

    Is tree a mutable variable, or the getter of a mutable field?

    Definition Classes
      TreeInfo
67.  def isWildcardArg(tree: JavaUniverse.Tree): Boolean

    Is the argument a wildcard argument of the form `_` or `x @ _`?

    Is the argument a wildcard argument of the form `_` or `x @ _`?

    Definition Classes
      TreeInfo
68.  def isWildcardStarArg(tree: JavaUniverse.Tree): Boolean

    Is this argument node of the form <expr> : _* ?

    Is this argument node of the form <expr> : _* ?

    Definition Classes
      TreeInfo
69.  def isWildcardStarArgList(trees: List[JavaUniverse.Tree]): Boolean

    Does this argument list end with an argument of the form <expr> : _* ?

    Does this argument list end with an argument of the form <expr> : _* ?

    Definition Classes
      TreeInfo
70.  def isWildcardStarType(tree: JavaUniverse.Tree): Boolean

    Is the argument a wildcard star type of the form `_*`?

    Is the argument a wildcard star type of the form `_*`?

    Definition Classes
      TreeInfo
71.  def mapMethodParamsAndArgs[R](params: List[JavaUniverse.Symbol], args: List[JavaUniverse.Tree])(f: (JavaUniverse.Symbol, JavaUniverse.Tree) ⇒ R): List[R]
    Definition Classes
      TreeInfo
72.  def mayBeTypePat(tree: JavaUniverse.Tree): Boolean

    can this type be a type pattern

    can this type be a type pattern

    Definition Classes
      TreeInfo
73.  def mayBeVarGetter(sym: JavaUniverse.Symbol): Boolean

    Is symbol potentially a getter of a variable?

    Is symbol potentially a getter of a variable?

    Definition Classes
      TreeInfo
74.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
75.  def noFieldFor(vd: JavaUniverse.ValDef, owner: JavaUniverse.Symbol): Boolean
    Definition Classes
      TreeInfo
76.  def noPredefImportForUnit(body: JavaUniverse.Tree): Boolean

    Is this file the body of a compilation unit which should not have Predef imported?

    Is this file the body of a compilation unit which should not have Predef imported?

    Definition Classes
      TreeInfo
77.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
78.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
79.  def preSuperFields(stats: List[JavaUniverse.Tree]): List[JavaUniverse.ValDef]

    The value definitions marked PRESUPER in this statement sequence

    The value definitions marked PRESUPER in this statement sequence

    Definition Classes
      TreeInfo
80.  def stripCast(tree: JavaUniverse.Tree): JavaUniverse.Tree

    Strips layers of `.asInstanceOf[T]` / `_.$asInstanceOf[T]()` from an expression

    Strips layers of `.asInstanceOf[T]` / `_.$asInstanceOf[T]()` from an expression

    Definition Classes
      TreeInfo
81.  def stripNamedApplyBlock(tree: JavaUniverse.Tree): JavaUniverse.Tree

    Named arguments can transform a constructor call into a block, e.g.

    Named arguments can transform a constructor call into a block, e.g. <init>(b = foo, a = bar) is transformed to { val x$1 = foo val x$2 = bar <init>(x$2, x$1) }

    Definition Classes
      TreeInfo
82.  final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
      AnyRef
83.  def toString(): String
    Definition Classes
      AnyRef → Any
84.  def typeParameters(tree: JavaUniverse.Tree): List[JavaUniverse.TypeDef]

    If this tree has type parameters, those.

    If this tree has type parameters, those. Otherwise Nil.

    Definition Classes
      TreeInfo
85.  def unbind(x: JavaUniverse.Tree): JavaUniverse.Tree

    The underlying pattern ignoring any bindings

    The underlying pattern ignoring any bindings

    Definition Classes
      TreeInfo
86.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )
87.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )
88.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @native() @throws( ... )
89.  object Applied

    Destructures applications into important subparts described in `Applied` class, namely into: core, targs and argss (in the specified order).

    Destructures applications into important subparts described in `Applied` class, namely into: core, targs and argss (in the specified order).

    Trees which are not applications are also accepted. Their callee and core will be equal to the input, while targs and argss will be Nil.

    The provided extractors don't expose all the API of the `Applied` class. For advanced use, call `dissectApplied` explicitly and use its methods instead of pattern matching.

    Definition Classes
      TreeInfo
90.  object DynamicApplication extends DynamicApplicationExtractor
    Definition Classes
      TreeInfo
91.  object DynamicApplicationNamed extends DynamicApplicationExtractor
    Definition Classes
      TreeInfo
92.  object DynamicUpdate extends DynamicApplicationExtractor
    Definition Classes
      TreeInfo
93.  object IsFalse extends SeeThroughBlocks[Boolean]
    Definition Classes
      TreeInfo
94.  object IsTrue extends SeeThroughBlocks[Boolean]
    Definition Classes
      TreeInfo
95.  object MacroImplReference
    Definition Classes
      TreeInfo
96.  object StripCast
    Definition Classes
      TreeInfo
97.  object Unapplied

    Locates the synthetic Apply node corresponding to an extractor's call to unapply (unwrapping nested Applies) and returns the fun part of that Apply.

    Locates the synthetic Apply node corresponding to an extractor's call to unapply (unwrapping nested Applies) and returns the fun part of that Apply.

    Definition Classes
      TreeInfo
98.  object WildcardStarArg
    Definition Classes
      TreeInfo

### Inherited from TreeInfo

### Inherited from AnyRef

### Inherited from Any

### Ungrouped