scala.reflect.base

Trees

trait Trees extends AnyRef

Self Type
Universe
Source
Trees.scala
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Trees
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by any2stringfmt
  3. by any2ArrowAssoc
  4. by any2Ensuring
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. abstract type Alternative >: Null <: TermTree

    Alternatives of patterns, eliminated by explicitouter, except for occurrences in encoded Switch stmt (=remaining Match(CaseDef(.

    Alternatives of patterns, eliminated by explicitouter, except for occurrences in encoded Switch stmt (=remaining Match(CaseDef(...))) Eliminated by patmat/explicitouter.

  2. abstract class AlternativeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Alternative(trees).

  3. abstract type Annotated >: Null <: Tree

    A tree that has an annotation attached to it.

    A tree that has an annotation attached to it. Only used for annotated types and annotation ascriptions, annotations on definitions are stored in the Modifiers. Eliminated by typechecker (typedAnnotated), the annotations are then stored in an AnnotatedType.

  4. abstract class AnnotatedExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Annotated(annot, arg).

  5. abstract type AppliedTypeTree >: Null <: TypTree

    Applied type <tpt> [ <args> ], eliminated by RefCheck

  6. abstract class AppliedTypeTreeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax AppliedTypeTree(tpt, args).

  7. abstract type Apply >: Null <: GenericApply

    Value application

  8. abstract type ApplyDynamic >: Null <: TermTree with SymTree

    Dynamic value application.

    Dynamic value application. In a dynamic application q.f(as)

    • q is stored in qual
    • as is stored in args
    • f is stored as the node's symbol field. [Eugene++] what is it used for? Introduced by erasure, eliminated by cleanup.
  9. abstract class ApplyDynamicExtractor extends AnyRef

    An extractor class to create and pattern match with syntax ApplyDynamic(qual, args).

  10. abstract class ApplyExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Apply(fun, args).

  11. abstract type ArrayValue >: Null <: TermTree

    Array of expressions, needs to be translated in backend.

    Array of expressions, needs to be translated in backend. This AST node is used to pass arguments to vararg arguments. Introduced by uncurry.

  12. abstract class ArrayValueExtractor extends AnyRef

    An extractor class to create and pattern match with syntax ArrayValue(elemtpt, elems).

  13. abstract type Assign >: Null <: TermTree

    Assignment

  14. abstract class AssignExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Assign(lhs, rhs).

  15. abstract type AssignOrNamedArg >: Null <: TermTree

    Either an assignment or a named argument.

    Either an assignment or a named argument. Only appears in argument lists, eliminated by typecheck (doTypedApply), resurrected by reifier.

  16. abstract class AssignOrNamedArgExtractor extends AnyRef

    An extractor class to create and pattern match with syntax AssignOrNamedArg(lhs, rhs).

  17. abstract type Bind >: Null <: DefTree

    Bind of a variable to a rhs pattern, eliminated by explicitouter Eliminated by patmat/explicitouter.

  18. abstract class BindExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Bind(name, body).

  19. abstract type Block >: Null <: TermTree

    Block of expressions (semicolon separated expressions)

  20. abstract class BlockExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Block(stats, expr).

  21. abstract type CaseDef >: Null <: Tree

    Case clause in a pattern match, eliminated during explicitouter (except for occurrences in switch statements).

    Case clause in a pattern match, eliminated during explicitouter (except for occurrences in switch statements). Eliminated by patmat/explicitouter.

  22. abstract class CaseDefExtractor extends AnyRef

    An extractor class to create and pattern match with syntax CaseDef(pat, guard, body).

  23. abstract type ClassDef >: Null <: ImplDef

    A class definition.

  24. abstract class ClassDefExtractor extends AnyRef

    An extractor class to create and pattern match with syntax ClassDef(mods, name, tparams, impl).

  25. abstract type CompoundTypeTree >: Null <: TypTree

    Intersection type <parent1> with .

    Intersection type <parent1> with ... with <parentN> { <decls> }, eliminated by RefCheck

  26. abstract class CompoundTypeTreeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax CompoundTypeTree(templ).

  27. abstract type DefDef >: Null <: ValOrDefDef

    A method or macro definition.

  28. abstract class DefDefExtractor extends AnyRef

    An extractor class to create and pattern match with syntax DefDef(mods, name, tparams, vparamss, tpt, rhs).

  29. abstract type DefTree >: Null <: SymTree with NameTree

    A tree which defines a symbol-carrying entity.

  30. abstract type ExistentialTypeTree >: Null <: TypTree

    Document me!

  31. abstract class ExistentialTypeTreeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax ExistentialTypeTree(tpt, whereClauses).

  32. abstract type Function >: Null <: TermTree with SymTree

    Anonymous function, eliminated by lambdalift

  33. abstract class FunctionExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Function(vparams, body).

  34. abstract type GenericApply >: Null <: TermTree

    Common base class for Apply and TypeApply.

    Common base class for Apply and TypeApply. This could in principle be a SymTree, but whether or not a Tree is a SymTree isn't used to settle any interesting questions, and it would add a useless field to all the instances (useless, since GenericApply forwards to the underlying fun.)

  35. abstract type Ident >: Null <: RefTree

    Identifier <name>

  36. abstract class IdentExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Ident(qual, name).

  37. abstract type If >: Null <: TermTree

    Conditional expression

  38. abstract class IfExtractor extends AnyRef

    An extractor class to create and pattern match with syntax If(cond, thenp, elsep).

  39. abstract type ImplDef >: Null <: MemberDef

    A common base class for class and object definitions.

  40. abstract type Import >: Null <: SymTree

    Import clause

  41. abstract class ImportExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Import(expr, selectors).

  42. abstract type ImportSelector >: Null <: AnyRef

    Import selector

    Import selector

    Representation of an imported name its optional rename and their optional positions

    Eliminated by typecheck.

  43. abstract class ImportSelectorExtractor extends AnyRef

    An extractor class to create and pattern match with syntax ImportSelector(name:, namePos, rename, renamePos).

  44. abstract type LabelDef >: Null <: DefTree with TermTree

    A labelled expression.

    A labelled expression. Not expressible in language syntax, but generated by the compiler to simulate while/do-while loops, and also by the pattern matcher.

    The label acts much like a nested function, where params represents the incoming parameters. The symbol given to the LabelDef should have a MethodType, as if it were a nested function.

    Jumps are apply nodes attributed with a label's symbol. The arguments from the apply node will be passed to the label and assigned to the Idents.

    Forward jumps within a block are allowed.

  45. abstract class LabelDefExtractor extends AnyRef

    An extractor class to create and pattern match with syntax LabelDef(name, params, rhs).

  46. abstract type Literal >: Null <: TermTree

    Literal

  47. abstract class LiteralExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Literal(value).

  48. abstract type Match >: Null <: TermTree

    - Pattern matching expression (before explicitouter)

    - Pattern matching expression (before explicitouter)

    • Switch statements (after explicitouter)

    After explicitouter, cases will satisfy the following constraints:

    • all guards are EmptyTree,
    • all patterns will be either Literal(Constant(x:Int)) or Alternative(lit|...|lit)
    • except for an "otherwise" branch, which has pattern Ident(nme.WILDCARD)
  49. abstract class MatchExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Match(selector, cases).

  50. abstract type MemberDef >: Null <: DefTree

    Common base class for all member definitions: types, classes, objects, packages, vals and vars, defs.

  51. abstract type Modifiers >: Null <: ModifiersBase

    .

    ...

  52. abstract class ModifiersBase extends AnyRef

    .

  53. abstract class ModifiersCreator extends AnyRef

  54. abstract type ModuleDef >: Null <: ImplDef

    An object definition, e.

    An object definition, e.g. object Foo. Internally, objects are quite frequently called modules to reduce ambiguity. Eliminated by refcheck.

  55. abstract class ModuleDefExtractor extends AnyRef

    An extractor class to create and pattern match with syntax ModuleDef(mods, name, impl).

  56. abstract type NameTree >: Null <: Tree

    A tree with a name - effectively, a DefTree or RefTree.

  57. abstract type New >: Null <: TermTree

    Object instantiation One should always use factory method below to build a user level new.

  58. abstract class NewExtractor extends AnyRef

    An extractor class to create and pattern match with syntax New(tpt).

  59. abstract type PackageDef >: Null <: MemberDef

    A packaging, such as package pid { stats }

  60. abstract class PackageDefExtractor extends AnyRef

    An extractor class to create and pattern match with syntax PackageDef(pid, stats).

  61. abstract type RefTree >: Null <: SymTree with NameTree

    A tree which references a symbol-carrying entity.

    A tree which references a symbol-carrying entity. References one, as opposed to defining one; definitions are in DefTrees.

  62. abstract type ReferenceToBoxed >: Null <: TermTree

    Marks underlying reference to id as boxed.

  63. abstract class ReferenceToBoxedExtractor extends AnyRef

    An extractor class to create and pattern match with syntax ReferenceToBoxed(ident).

  64. abstract type Return >: Null <: TermTree with SymTree

    Return expression

  65. abstract class ReturnExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Return(expr).

  66. abstract type Select >: Null <: RefTree

    Designator <qualifier> .

    Designator <qualifier> . <name>

  67. abstract class SelectExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Select(qual, name).

  68. abstract type SelectFromTypeTree >: Null <: TypTree with RefTree

    Type selection <qualifier> # <name>, eliminated by RefCheck

  69. abstract class SelectFromTypeTreeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax SelectFromTypeTree(qualifier, name).

  70. abstract type SingletonTypeTree >: Null <: TypTree

    Singleton type, eliminated by RefCheck

  71. abstract class SingletonTypeTreeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax SingletonTypeTree(ref).

  72. abstract type Star >: Null <: TermTree

    Repetition of pattern.

    Repetition of pattern. Eliminated by patmat/explicitouter.

  73. abstract class StarExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Star(elem).

  74. abstract type Super >: Null <: TermTree

    Super reference, qual = corresponding this reference A super reference C.

    Super reference, qual = corresponding this reference A super reference C.super[M] is represented as Super(This(C), M).

  75. abstract class SuperExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Super(qual, mix).

  76. abstract type SymTree >: Null <: Tree

    A tree with a mutable symbol field, initialized to NoSymbol.

  77. abstract type Template >: Null <: SymTree

    Instantiation template of a class or trait

  78. abstract class TemplateExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Template(parents, self, body).

  79. abstract type TermTree >: Null <: Tree

    A tree for a term.

    A tree for a term. Not all terms are TermTrees; use isTerm to reliably identify terms.

  80. abstract type This >: Null <: TermTree with SymTree

    Self reference

  81. abstract class ThisExtractor extends AnyRef

    An extractor class to create and pattern match with syntax This(qual).

  82. abstract type Throw >: Null <: TermTree

    Throw expression

  83. abstract class ThrowExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Throw(expr).

  84. abstract type Tree >: Null <: TreeBase

    Tree is the basis for scala's abstract syntax.

    Tree is the basis for scala's abstract syntax. The nodes are implemented as case classes, and the parameters which initialize a given tree are immutable: however Trees have several mutable fields which are manipulated in the course of typechecking, including pos, symbol, and tpe.

    Newly instantiated trees have tpe set to null (though it may be set immediately thereafter depending on how it is constructed.) When a tree is passed to the typer, typically via typer.typed(tree), under normal circumstances the tpe must be null or the typer will ignore it. Furthermore, the typer is not required to return the same tree it was passed.

    Trees can be easily traversed with e.g. foreach on the root node; for a more nuanced traversal, subclass Traverser. Transformations can be considerably trickier: see the numerous subclasses of Transformer found around the compiler.

    Copying Trees should be done with care depending on whether it need be done lazily or strictly (see LazyTreeCopier and StrictTreeCopier) and on whether the contents of the mutable fields should be copied. The tree copiers will copy the mutable attributes to the new tree; calling Tree#duplicate will copy symbol and tpe, but all the positions will be focused.

    Trees can be coarsely divided into four mutually exclusive categories:

    • TermTrees, representing terms
    • TypTrees, representing types. Note that is TypTree, not TypeTree.
    • SymTrees, which may represent types or terms.
    • Other Trees, which have none of those as parents.

    SymTrees include important nodes Ident and Select, which are used as both terms and types; they are distinguishable based on whether the Name is a TermName or TypeName. The correct way for to test for a type or a term (on any Tree) are the isTerm/isType methods on Tree.

    "Others" are mostly syntactic or short-lived constructs. Examples include CaseDef, which wraps individual match cases: they are neither terms nor types, nor do they carry a symbol. Another example is Parens, which is eliminated during parsing.

  85. abstract class TreeBase extends Product

    The base API that all trees support

  86. abstract type Try >: Null <: TermTree

    [Eugene++] comment me!

  87. abstract class TryExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Try(block, catches, finalizer).

  88. abstract type TypTree >: Null <: Tree

    A tree for a type.

    A tree for a type. Not all types are TypTrees; use isType to reliably identify types.

  89. abstract type TypeApply >: Null <: GenericApply

    Explicit type application.

  90. abstract class TypeApplyExtractor extends AnyRef

    An extractor class to create and pattern match with syntax TypeApply(fun, args).

  91. abstract type TypeBoundsTree >: Null <: TypTree

    Document me!

  92. abstract class TypeBoundsTreeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax TypeBoundsTree(lo, hi).

  93. abstract type TypeDef >: Null <: MemberDef

    An abstract type, a type parameter, or a type alias.

    An abstract type, a type parameter, or a type alias. Eliminated by erasure.

  94. abstract class TypeDefExtractor extends AnyRef

    An extractor class to create and pattern match with syntax TypeDef(mods, name, tparams, rhs).

  95. abstract type TypeTree >: Null <: TypTree

    A synthetic tree holding an arbitrary type.

    A synthetic tree holding an arbitrary type. Not to be confused with with TypTree, the trait for trees that are only used for type trees. TypeTree's are inserted in several places, but most notably in RefCheck, where the arbitrary type trees are all replaced by TypeTree's.

  96. abstract class TypeTreeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax TypeTree().

  97. abstract type Typed >: Null <: TermTree

    Type annotation, eliminated by cleanup

  98. abstract class TypedExtractor extends AnyRef

    An extractor class to create and pattern match with syntax Typed(expr, tpt).

  99. abstract type UnApply >: Null <: TermTree

    Noone knows what this is.

    Noone knows what this is. It is not idempotent w.r.t typechecking. Can we, please, remove it? Introduced by typer, eliminated by patmat/explicitouter.

  100. abstract class UnApplyExtractor extends AnyRef

    An extractor class to create and pattern match with syntax UnApply(fun, args).

  101. abstract type ValDef >: Null <: ValOrDefDef

    Broadly speaking, a value definition.

    Broadly speaking, a value definition. All these are encoded as ValDefs:

    • immutable values, e.g. "val x"
    • mutable values, e.g. "var x" - the MUTABLE flag set in mods
    • lazy values, e.g. "lazy val x" - the LAZY flag set in mods
    • method parameters, see vparamss in DefDef - the PARAM flag is set in mods
    • explicit self-types, e.g. class A { self: Bar => } - !!! not sure what is set.
  102. abstract class ValDefExtractor extends AnyRef

    An extractor class to create and pattern match with syntax ValDef(mods, name, tpt, rhs).

  103. abstract type ValOrDefDef >: Null <: MemberDef

    A common base class for ValDefs and DefDefs.

Abstract Value Members

  1. abstract val Alternative: AlternativeExtractor

    The constructor/deconstructor for Alternative instances.

  2. implicit abstract val AlternativeTag: ClassTag[Alternative]

    A tag that preserves the identity of the Alternative abstract type from erasure.

    A tag that preserves the identity of the Alternative abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  3. abstract val Annotated: AnnotatedExtractor

    The constructor/deconstructor for Annotated instances.

  4. implicit abstract val AnnotatedTag: ClassTag[Annotated]

    A tag that preserves the identity of the Annotated abstract type from erasure.

    A tag that preserves the identity of the Annotated abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  5. abstract val AppliedTypeTree: AppliedTypeTreeExtractor

    The constructor/deconstructor for AppliedTypeTree instances.

  6. implicit abstract val AppliedTypeTreeTag: ClassTag[AppliedTypeTree]

    A tag that preserves the identity of the AppliedTypeTree abstract type from erasure.

    A tag that preserves the identity of the AppliedTypeTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  7. abstract def Apply(sym: Symbol, args: Tree*): Tree

  8. abstract val Apply: ApplyExtractor

    The constructor/deconstructor for Apply instances.

  9. abstract def ApplyConstructor(tpt: Tree, args: List[Tree]): Tree

  10. abstract val ApplyDynamic: ApplyDynamicExtractor

    The constructor/deconstructor for ApplyDynamic instances.

  11. implicit abstract val ApplyDynamicTag: ClassTag[ApplyDynamic]

    A tag that preserves the identity of the ApplyDynamic abstract type from erasure.

    A tag that preserves the identity of the ApplyDynamic abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  12. implicit abstract val ApplyTag: ClassTag[Apply]

    A tag that preserves the identity of the Apply abstract type from erasure.

    A tag that preserves the identity of the Apply abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  13. abstract val ArrayValue: ArrayValueExtractor

    The constructor/deconstructor for ArrayValue instances.

  14. implicit abstract val ArrayValueTag: ClassTag[ArrayValue]

    A tag that preserves the identity of the ArrayValue abstract type from erasure.

    A tag that preserves the identity of the ArrayValue abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  15. abstract val Assign: AssignExtractor

    The constructor/deconstructor for Assign instances.

  16. abstract val AssignOrNamedArg: AssignOrNamedArgExtractor

    The constructor/deconstructor for AssignOrNamedArg instances.

  17. implicit abstract val AssignOrNamedArgTag: ClassTag[AssignOrNamedArg]

    A tag that preserves the identity of the AssignOrNamedArg abstract type from erasure.

    A tag that preserves the identity of the AssignOrNamedArg abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  18. implicit abstract val AssignTag: ClassTag[Assign]

    A tag that preserves the identity of the Assign abstract type from erasure.

    A tag that preserves the identity of the Assign abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  19. abstract def Bind(sym: Symbol, body: Tree): Bind

  20. abstract val Bind: BindExtractor

    The constructor/deconstructor for Bind instances.

  21. implicit abstract val BindTag: ClassTag[Bind]

    A tag that preserves the identity of the Bind abstract type from erasure.

    A tag that preserves the identity of the Bind abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  22. abstract def Block(stats: Tree*): Block

    Block factory that flattens directly nested blocks.

  23. abstract val Block: BlockExtractor

    The constructor/deconstructor for Block instances.

  24. implicit abstract val BlockTag: ClassTag[Block]

    A tag that preserves the identity of the Block abstract type from erasure.

    A tag that preserves the identity of the Block abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  25. abstract def CaseDef(pat: Tree, body: Tree): CaseDef

    casedef shorthand

  26. abstract val CaseDef: CaseDefExtractor

    The constructor/deconstructor for CaseDef instances.

  27. implicit abstract val CaseDefTag: ClassTag[CaseDef]

    A tag that preserves the identity of the CaseDef abstract type from erasure.

    A tag that preserves the identity of the CaseDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  28. abstract def ClassDef(sym: Symbol, impl: Template): ClassDef

    sym

    the class symbol

    impl

    the implementation template

  29. abstract val ClassDef: ClassDefExtractor

    The constructor/deconstructor for ClassDef instances.

  30. implicit abstract val ClassDefTag: ClassTag[ClassDef]

    A tag that preserves the identity of the ClassDef abstract type from erasure.

    A tag that preserves the identity of the ClassDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  31. abstract val CompoundTypeTree: CompoundTypeTreeExtractor

    The constructor/deconstructor for CompoundTypeTree instances.

  32. implicit abstract val CompoundTypeTreeTag: ClassTag[CompoundTypeTree]

    A tag that preserves the identity of the CompoundTypeTree abstract type from erasure.

    A tag that preserves the identity of the CompoundTypeTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  33. abstract def DefDef(sym: Symbol, rhs: (List[List[Symbol]]) ⇒ Tree): DefDef

  34. abstract def DefDef(sym: Symbol, rhs: Tree): DefDef

  35. abstract def DefDef(sym: Symbol, mods: Modifiers, rhs: Tree): DefDef

  36. abstract def DefDef(sym: Symbol, vparamss: List[List[ValDef]], rhs: Tree): DefDef

  37. abstract def DefDef(sym: Symbol, mods: Modifiers, vparamss: List[List[ValDef]], rhs: Tree): DefDef

  38. abstract val DefDef: DefDefExtractor

    The constructor/deconstructor for DefDef instances.

  39. implicit abstract val DefDefTag: ClassTag[DefDef]

    A tag that preserves the identity of the DefDef abstract type from erasure.

    A tag that preserves the identity of the DefDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  40. implicit abstract val DefTreeTag: ClassTag[DefTree]

    A tag that preserves the identity of the DefTree abstract type from erasure.

    A tag that preserves the identity of the DefTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  41. abstract val EmptyTree: Tree

    The empty tree

  42. abstract val ExistentialTypeTree: ExistentialTypeTreeExtractor

    The constructor/deconstructor for ExistentialTypeTree instances.

  43. implicit abstract val ExistentialTypeTreeTag: ClassTag[ExistentialTypeTree]

    A tag that preserves the identity of the ExistentialTypeTree abstract type from erasure.

    A tag that preserves the identity of the ExistentialTypeTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  44. abstract val Function: FunctionExtractor

    The constructor/deconstructor for Function instances.

  45. implicit abstract val FunctionTag: ClassTag[Function]

    A tag that preserves the identity of the Function abstract type from erasure.

    A tag that preserves the identity of the Function abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  46. implicit abstract val GenericApplyTag: ClassTag[GenericApply]

    A tag that preserves the identity of the GenericApply abstract type from erasure.

    A tag that preserves the identity of the GenericApply abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  47. abstract def Ident(sym: Symbol): Ident

  48. abstract def Ident(name: String): Ident

  49. abstract val Ident: IdentExtractor

    The constructor/deconstructor for Ident instances.

  50. implicit abstract val IdentTag: ClassTag[Ident]

    A tag that preserves the identity of the Ident abstract type from erasure.

    A tag that preserves the identity of the Ident abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  51. abstract val If: IfExtractor

    The constructor/deconstructor for If instances.

  52. implicit abstract val IfTag: ClassTag[If]

    A tag that preserves the identity of the If abstract type from erasure.

    A tag that preserves the identity of the If abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  53. implicit abstract val ImplDefTag: ClassTag[ImplDef]

    A tag that preserves the identity of the ImplDef abstract type from erasure.

    A tag that preserves the identity of the ImplDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  54. abstract val Import: ImportExtractor

    The constructor/deconstructor for Import instances.

  55. abstract val ImportSelector: ImportSelectorExtractor

    The constructor/deconstructor for ImportSelector instances.

  56. implicit abstract val ImportSelectorTag: ClassTag[ImportSelector]

    A tag that preserves the identity of the ImportSelector abstract type from erasure.

    A tag that preserves the identity of the ImportSelector abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  57. implicit abstract val ImportTag: ClassTag[Import]

    A tag that preserves the identity of the Import abstract type from erasure.

    A tag that preserves the identity of the Import abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  58. abstract def LabelDef(sym: Symbol, params: List[Symbol], rhs: Tree): LabelDef

  59. abstract val LabelDef: LabelDefExtractor

    The constructor/deconstructor for LabelDef instances.

  60. implicit abstract val LabelDefTag: ClassTag[LabelDef]

    A tag that preserves the identity of the LabelDef abstract type from erasure.

    A tag that preserves the identity of the LabelDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  61. abstract val Literal: LiteralExtractor

    The constructor/deconstructor for Literal instances.

  62. implicit abstract val LiteralTag: ClassTag[Literal]

    A tag that preserves the identity of the Literal abstract type from erasure.

    A tag that preserves the identity of the Literal abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  63. abstract val Match: MatchExtractor

    The constructor/deconstructor for Match instances.

  64. implicit abstract val MatchTag: ClassTag[Match]

    A tag that preserves the identity of the Match abstract type from erasure.

    A tag that preserves the identity of the Match abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  65. implicit abstract val MemberDefTag: ClassTag[MemberDef]

    A tag that preserves the identity of the MemberDef abstract type from erasure.

    A tag that preserves the identity of the MemberDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  66. abstract val Modifiers: ModifiersCreator

  67. implicit abstract val ModifiersTag: ClassTag[Modifiers]

    A tag that preserves the identity of the Modifiers abstract type from erasure.

    A tag that preserves the identity of the Modifiers abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  68. abstract def ModuleDef(sym: Symbol, impl: Template): ModuleDef

    sym

    the class symbol

    impl

    the implementation template

  69. abstract val ModuleDef: ModuleDefExtractor

    The constructor/deconstructor for ModuleDef instances.

  70. implicit abstract val ModuleDefTag: ClassTag[ModuleDef]

    A tag that preserves the identity of the ModuleDef abstract type from erasure.

    A tag that preserves the identity of the ModuleDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  71. implicit abstract val NameTreeTag: ClassTag[NameTree]

    A tag that preserves the identity of the NameTree abstract type from erasure.

    A tag that preserves the identity of the NameTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  72. abstract def New(sym: Symbol, args: Tree*): Tree

  73. abstract def New(tpe: Type, args: Tree*): Tree

    0-1 argument list new, based on a type.

  74. abstract def New(tpt: Tree, argss: List[List[Tree]]): Tree

    Factory method for object creation new tpt(args_1)...(args_n) A New(t, as) is expanded to: (new t).<init>(as)

  75. abstract val New: NewExtractor

    The constructor/deconstructor for New instances.

  76. implicit abstract val NewTag: ClassTag[New]

    A tag that preserves the identity of the New abstract type from erasure.

    A tag that preserves the identity of the New abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  77. abstract val PackageDef: PackageDefExtractor

    The constructor/deconstructor for PackageDef instances.

  78. implicit abstract val PackageDefTag: ClassTag[PackageDef]

    A tag that preserves the identity of the PackageDef abstract type from erasure.

    A tag that preserves the identity of the PackageDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  79. implicit abstract val RefTreeTag: ClassTag[RefTree]

    A tag that preserves the identity of the RefTree abstract type from erasure.

    A tag that preserves the identity of the RefTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  80. abstract val ReferenceToBoxed: ReferenceToBoxedExtractor

    The constructor/deconstructor for ReferenceToBoxed instances.

  81. implicit abstract val ReferenceToBoxedTag: ClassTag[ReferenceToBoxed]

    A tag that preserves the identity of the ReferenceToBoxed abstract type from erasure.

    A tag that preserves the identity of the ReferenceToBoxed abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  82. abstract val Return: ReturnExtractor

    The constructor/deconstructor for Return instances.

  83. implicit abstract val ReturnTag: ClassTag[Return]

    A tag that preserves the identity of the Return abstract type from erasure.

    A tag that preserves the identity of the Return abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  84. abstract def Select(qualifier: Tree, sym: Symbol): Select

  85. abstract def Select(qualifier: Tree, name: String): Select

  86. abstract val Select: SelectExtractor

    The constructor/deconstructor for Select instances.

  87. abstract val SelectFromTypeTree: SelectFromTypeTreeExtractor

    The constructor/deconstructor for SelectFromTypeTree instances.

  88. implicit abstract val SelectFromTypeTreeTag: ClassTag[SelectFromTypeTree]

    A tag that preserves the identity of the SelectFromTypeTree abstract type from erasure.

    A tag that preserves the identity of the SelectFromTypeTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  89. implicit abstract val SelectTag: ClassTag[Select]

    A tag that preserves the identity of the Select abstract type from erasure.

    A tag that preserves the identity of the Select abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  90. abstract val SingletonTypeTree: SingletonTypeTreeExtractor

    The constructor/deconstructor for SingletonTypeTree instances.

  91. implicit abstract val SingletonTypeTreeTag: ClassTag[SingletonTypeTree]

    A tag that preserves the identity of the SingletonTypeTree abstract type from erasure.

    A tag that preserves the identity of the SingletonTypeTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  92. abstract val Star: StarExtractor

    The constructor/deconstructor for Star instances.

  93. implicit abstract val StarTag: ClassTag[Star]

    A tag that preserves the identity of the Star abstract type from erasure.

    A tag that preserves the identity of the Star abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  94. abstract def Super(sym: Symbol, mix: TypeName): Tree

  95. abstract val Super: SuperExtractor

    The constructor/deconstructor for Super instances.

  96. implicit abstract val SuperTag: ClassTag[Super]

    A tag that preserves the identity of the Super abstract type from erasure.

    A tag that preserves the identity of the Super abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  97. implicit abstract val SymTreeTag: ClassTag[SymTree]

    A tag that preserves the identity of the SymTree abstract type from erasure.

    A tag that preserves the identity of the SymTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  98. abstract val Template: TemplateExtractor

    The constructor/deconstructor for Template instances.

  99. implicit abstract val TemplateTag: ClassTag[Template]

    A tag that preserves the identity of the Template abstract type from erasure.

    A tag that preserves the identity of the Template abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  100. implicit abstract val TermTreeTag: ClassTag[TermTree]

    A tag that preserves the identity of the TermTree abstract type from erasure.

    A tag that preserves the identity of the TermTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  101. abstract def This(sym: Symbol): Tree

  102. abstract val This: ThisExtractor

    The constructor/deconstructor for This instances.

  103. implicit abstract val ThisTag: ClassTag[This]

    A tag that preserves the identity of the This abstract type from erasure.

    A tag that preserves the identity of the This abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  104. abstract def Throw(tpe: Type, args: Tree*): Throw

  105. abstract val Throw: ThrowExtractor

    The constructor/deconstructor for Throw instances.

  106. implicit abstract val ThrowTag: ClassTag[Throw]

    A tag that preserves the identity of the Throw abstract type from erasure.

    A tag that preserves the identity of the Throw abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  107. implicit abstract val TreeTag: ClassTag[Tree]

    A tag that preserves the identity of the Tree abstract type from erasure.

    A tag that preserves the identity of the Tree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  108. abstract def Try(body: Tree, cases: (Tree, Tree)*): Try

  109. abstract val Try: TryExtractor

    The constructor/deconstructor for Try instances.

  110. implicit abstract val TryTag: ClassTag[Try]

    A tag that preserves the identity of the Try abstract type from erasure.

    A tag that preserves the identity of the Try abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  111. implicit abstract val TypTreeTag: ClassTag[TypTree]

    A tag that preserves the identity of the TypTree abstract type from erasure.

    A tag that preserves the identity of the TypTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  112. abstract val TypeApply: TypeApplyExtractor

    The constructor/deconstructor for TypeApply instances.

  113. implicit abstract val TypeApplyTag: ClassTag[TypeApply]

    A tag that preserves the identity of the TypeApply abstract type from erasure.

    A tag that preserves the identity of the TypeApply abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  114. abstract val TypeBoundsTree: TypeBoundsTreeExtractor

    The constructor/deconstructor for TypeBoundsTree instances.

  115. implicit abstract val TypeBoundsTreeTag: ClassTag[TypeBoundsTree]

    A tag that preserves the identity of the TypeBoundsTree abstract type from erasure.

    A tag that preserves the identity of the TypeBoundsTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  116. abstract def TypeDef(sym: Symbol): TypeDef

    A TypeDef node which defines abstract type or type parameter for given sym

  117. abstract def TypeDef(sym: Symbol, rhs: Tree): TypeDef

    A TypeDef node which defines given sym with given tight hand side rhs.

  118. abstract val TypeDef: TypeDefExtractor

    The constructor/deconstructor for TypeDef instances.

  119. implicit abstract val TypeDefTag: ClassTag[TypeDef]

    A tag that preserves the identity of the TypeDef abstract type from erasure.

    A tag that preserves the identity of the TypeDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  120. abstract def TypeTree(tp: Type): TypeTree

  121. abstract val TypeTree: TypeTreeExtractor

    The constructor/deconstructor for TypeTree instances.

  122. implicit abstract val TypeTreeTag: ClassTag[TypeTree]

    A tag that preserves the identity of the TypeTree abstract type from erasure.

    A tag that preserves the identity of the TypeTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  123. abstract val Typed: TypedExtractor

    The constructor/deconstructor for Typed instances.

  124. implicit abstract val TypedTag: ClassTag[Typed]

    A tag that preserves the identity of the Typed abstract type from erasure.

    A tag that preserves the identity of the Typed abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  125. abstract val UnApply: UnApplyExtractor

    The constructor/deconstructor for UnApply instances.

  126. implicit abstract val UnApplyTag: ClassTag[UnApply]

    A tag that preserves the identity of the UnApply abstract type from erasure.

    A tag that preserves the identity of the UnApply abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  127. abstract def ValDef(sym: Symbol): ValDef

  128. abstract def ValDef(sym: Symbol, rhs: Tree): ValDef

  129. abstract val ValDef: ValDefExtractor

    The constructor/deconstructor for ValDef instances.

  130. implicit abstract val ValDefTag: ClassTag[ValDef]

    A tag that preserves the identity of the ValDef abstract type from erasure.

    A tag that preserves the identity of the ValDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  131. implicit abstract val ValOrDefDefTag: ClassTag[ValOrDefDef]

    A tag that preserves the identity of the ValOrDefDef abstract type from erasure.

    A tag that preserves the identity of the ValOrDefDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

  132. abstract def treeToString(tree: Tree): String

    Obtains string representation of a tree

    Obtains string representation of a tree

    Attributes
    protected

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Test two objects for inequality.

    Test two objects for inequality.

    returns

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

    Definition Classes
    Any
  3. 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
  4. def +(other: String): String

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

    Implicit information
    This member is added by an implicit conversion from Trees to ArrowAssoc[Trees] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. final def ==(arg0: AnyRef): Boolean

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

    Test two objects for equality.

    Test two objects for equality. 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
    Any
  8. def Modifiers(flags: FlagSet): Modifiers

  9. def Modifiers(flags: FlagSet, privateWithin: Name): Modifiers

  10. lazy val NoMods: Modifiers

    .

    ...

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

  12. 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[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
    Note

    not specified by SLS as a member of AnyRef

  13. def ensuring(cond: (Trees) ⇒ Boolean, msg: ⇒ Any): Trees

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

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

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

    Implicit information
    This member is added by an implicit conversion from Trees to Ensuring[Trees] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. 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
  18. 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 Any.

    returns

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

    Definition Classes
    AnyRef → Any
  19. 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[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
    Note

    not specified by SLS as a member of AnyRef

  20. def formatted(fmtstr: String): String

    Returns string formatted according to given format string.

    Returns string formatted according to given format string. Format strings are as for String.format (@see java.lang.String.format).

    Implicit information
    This member is added by an implicit conversion from Trees to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  21. 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

  22. def hashCode(): Int

    The hashCode method for reference types.

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

    returns

    the hash code value for this object.

    Definition Classes
    AnyRef → Any
  23. 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
  24. 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
  25. 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

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

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

    Definition Classes
    AnyRef
  28. 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
  29. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()
  32. def [B](y: B): (Trees, B)

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

Shadowed Implict Value Members

  1. val self: Any

    Implicit information
    This member is added by an implicit conversion from Trees to StringAdd performed by method any2stringadd in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (trees: StringAdd).self
    Definition Classes
    StringAdd
  2. val self: Any

    Implicit information
    This member is added by an implicit conversion from Trees to StringFormat performed by method any2stringfmt in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (trees: StringFormat).self
    Definition Classes
    StringFormat

Deprecated Value Members

  1. def x: Trees

    Implicit information
    This member is added by an implicit conversion from Trees to ArrowAssoc[Trees] performed by method any2ArrowAssoc in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (trees: ArrowAssoc[Trees]).x
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use leftOfArrow instead

  2. def x: Trees

    Implicit information
    This member is added by an implicit conversion from Trees to Ensuring[Trees] performed by method any2Ensuring in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (trees: Ensuring[Trees]).x
    Definition Classes
    Ensuring
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use resultOfEnsuring instead

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from Trees to StringAdd

Inherited by implicit conversion any2stringfmt from Trees to StringFormat

Inherited by implicit conversion any2ArrowAssoc from Trees to ArrowAssoc[Trees]

Inherited by implicit conversion any2Ensuring from Trees to Ensuring[Trees]