A JE::Scope object can also be used as global (JE) object. Any methods it does not understand will be delegated to the object at the bottom of the stack (the far end of the chain), so that "$scope->null" means the same thing as "$scope->->null".
Objects of this class consist of a reference to an array, the elements of which are the objects in the chain (the first element being the global object). (Think of it as a stack.)
- find_var($name, $value)
- This method searches through the scope chain, starting at the end of the array, until it finds the variable named by the first argument. If the second argument is present, it sets the variable. It then returns an lvalue (a JE::LValue object) that references the variable.
- new_var($name, $value)
This method creates (and optionally sets the value of) a new
keyword does) and returns an lvalue.
The variable object is the first object in the scope chain (searching from the top of the stack) that is a call object, or "$scope->" if no call object is found.