class ValScope extends AnyRef

ValScopes which model the lexical scopes within a Jsonnet file that bind variable names to Vals, as well as other contextual information like self this or super.

Note that scopes are standalone, and nested scopes are done by copying and updating the array of bindings rather than using a linked list. This is because the bindings array is typically pretty small and the constant factor overhead from a cleverer data structure dominates any algorithmic improvements

The bindings array is private and only copy-on-write, so for nested scopes which do not change it (e.g. those just updating dollar0 or self0) the bindings array can be shared cheaply.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ValScope
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ValScope(dollar0: Obj, self0: Obj, super0: Obj, bindings0: Array[Lazy])

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 def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def bindings(k: Int): Lazy
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  7. val dollar0: Obj
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def extend(newBindingsI: Array[Bind] = null, newBindingsF: Array[(Obj, Obj) ⇒ Lazy] = null, newDollar: Obj = null, newSelf: Obj = null, newSuper: Obj = null): ValScope
  11. def extendSimple(newBindingI: Int, newBindingV: Lazy): ValScope
  12. def extendSimple(newBindingsI1: Array[Int], newBindingsV1: Array[Lazy], newBindingsI2: Array[Int], newBindingsV2: Array[Lazy]): ValScope
  13. def extendSimple(newBindingsI: Array[Int], newBindingsV: Array[Lazy]): ValScope
  14. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. val self0: Obj
  22. val super0: Obj
  23. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  24. def toString(): String
    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped