scala.tools.nsc.typechecker.MethodSynthesis.MethodSynth

# LazyValGetter

#### case class LazyValGetter(tree: Global.ValDef) extends Namers.Namer.BaseGetter with Product with Serializable

Implements lazy value accessors:

- for lazy values of type Unit and all lazy fields inside traits, the rhs is the initializer itself
- for all other lazy values z the accessor is a block of this form: { z = <rhs>; z } where z can be an identifier or a field.

Source
  MethodSynthesis.scala

Linear Supertypes
Serializable, java.io.Serializable, Product, Equals, Namers.Namer.BaseGetter, Namers.Namer.DerivedGetter, Namers.Namer.DerivedFromValDef, Namers.Namer.DerivedFromMemberDef, Namers.Namer.Derived, AnyRef, Any
Type Hierarchy Learn more about scaladoc diagrams
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. LazyValGetter
2. Serializable
3. Serializable
4. Product
5. Equals
6. BaseGetter
7. DerivedGetter
8. DerivedFromValDef
9. DerivedFromMemberDef
10. Derived
11. AnyRef
12. Any

Implicitly

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

1. Hide All
2. Show all

Learn more about member selection
Visibility

1. Public
2. All

### Instance Constructors

1. #### new LazyValGetter(tree: Global.ValDef)

### Type Members

1. #### class ChangeOwnerAndModuleClassTraverser extends Global.ChangeOwnerTraverser

### Value Members

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

   Definition Classes
     AnyRef → Any

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

   Definition Classes
     AnyRef → Any

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

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

4. #### def ->[B](y: B): (Namers.Namer.LazyValGetter, B)

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

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

   Definition Classes
     AnyRef → Any

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

   Definition Classes
     Any

7. #### final def basisSym: Global.Symbol

   Definition Classes
     DerivedFromMemberDef

8. #### def category: Global.ClassSymbol

   Which meta-annotation is associated with this kind of entity.

   Which meta-annotation is associated with this kind of entity. Presently one of: field, getter, setter, beanGetter, beanSetter, param.

   Definition Classes
     BaseGetter → DerivedFromValDef

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

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

10. #### final def completer(sym: Global.Symbol): Analyzer.TypeCompleter with Analyzer.LockingTypeCompleter with Global.FlagAgnosticCompleter

    type completer for the synthetic member.

    type completer for the synthetic member.

    Definition Classes
      DerivedFromValDef → Derived

11. #### def createAndEnterSymbol(): Global.Symbol

    Definition Classes
      DerivedFromValDef

12. #### final def derive(initial: List[Global.AnnotationInfo]): Global.Tree

    Definition Classes
      DerivedFromValDef

13. #### final def derivedMods: Global.Modifiers

    Definition Classes
      DerivedFromValDef

14. #### def derivedSym: Global.Symbol

    The derived symbol.

    The derived symbol. It is assumed that this symbol already exists and has been entered in the parent scope when derivedSym is called

    Definition Classes
      LazyValGetter → DerivedFromValDef → Derived

15. #### def derivedTree: Global.DefDef

    The definition tree of the derived symbol.

    The definition tree of the derived symbol.

    Definition Classes
      LazyValGetter → DerivedFromValDef → Derived

16. #### final def enclClass: Global.Symbol

    Definition Classes
      DerivedFromValDef → DerivedFromMemberDef

17. #### def ensuring(cond: (Namers.Namer.LazyValGetter) ⇒ Boolean, msg: ⇒ Any): Namers.Namer.LazyValGetter

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

18. #### def ensuring(cond: (Namers.Namer.LazyValGetter) ⇒ Boolean): Namers.Namer.LazyValGetter

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

19. #### def ensuring(cond: Boolean, msg: ⇒ Any): Namers.Namer.LazyValGetter

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

20. #### def ensuring(cond: Boolean): Namers.Namer.LazyValGetter

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

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

    Definition Classes
      AnyRef

22. #### final def fieldSelection: Global.Select

    Definition Classes
      DerivedFromValDef

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

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

24. #### def flagsExtra: Long

    The flags that the derived symbol has in addition to those retained from the original symbol

    The flags that the derived symbol has in addition to those retained from the original symbol

    Definition Classes
      BaseGetter → Derived

25. #### def flagsMask: Long

    The flags that are retained from the original symbol

    The flags that are retained from the original symbol

    Definition Classes
      BaseGetter → Derived

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

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

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

    Definition Classes
      AnyRef → Any

28. #### def isDeferred: Boolean

    Definition Classes
      DerivedFromValDef

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

    Definition Classes
      Any

30. #### def isSetter: Boolean

    Definition Classes
      DerivedFromValDef

31. #### def keepClean: Boolean

    Definition Classes
      DerivedFromValDef

32. #### final def mods: Global.Modifiers

    Definition Classes
      DerivedFromMemberDef

33. #### def name: Global.TermName

    The name of the method

    The name of the method

    Definition Classes
      BaseGetter → Derived

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

    Definition Classes
      AnyRef

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

    Definition Classes
      AnyRef

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

    Definition Classes
      AnyRef

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

    Definition Classes
      AnyRef

38. #### val tree: Global.ValDef

    The tree from which we are deriving a synthetic member.

    The tree from which we are deriving a synthetic member. Typically, that's given as an argument of the instance.

    Definition Classes
      LazyValGetter → DerivedFromValDef → DerivedFromMemberDef → Derived

39. #### def validate(): Unit

    Definition Classes
      BaseGetter → DerivedFromValDef

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

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

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

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

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

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

43. #### def →[B](y: B): (Namers.Namer.LazyValGetter, B)

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

### Inherited from Serializable

### Inherited from java.io.Serializable

### Inherited from Product

### Inherited from Equals

### Inherited from Namers.Namer.BaseGetter

### Inherited from Namers.Namer.DerivedGetter

### Inherited from Namers.Namer.DerivedFromValDef

### Inherited from Namers.Namer.DerivedFromMemberDef

### Inherited from Namers.Namer.Derived

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd from Namers.Namer.LazyValGetter to any2stringadd[Namers.Namer.LazyValGetter]

### Inherited by implicit conversion StringFormat from Namers.Namer.LazyValGetter to StringFormat[Namers.Namer.LazyValGetter]

### Inherited by implicit conversion Ensuring from Namers.Namer.LazyValGetter to Ensuring[Namers.Namer.LazyValGetter]

### Inherited by implicit conversion ArrowAssoc from Namers.Namer.LazyValGetter to ArrowAssoc[Namers.Namer.LazyValGetter]

### Ungrouped