public static LexicalEnvironment NewDeclarativeEnvironment(Engine engine, LexicalEnvironment outer = null)
 {
     return(new LexicalEnvironment(new DeclarativeEnvironmentRecord(engine), outer));
 }
 public static LexicalEnvironment NewObjectEnvironment(Engine engine, ObjectInstance objectInstance, LexicalEnvironment outer, bool provideThis)
 {
     return(new LexicalEnvironment(new ObjectEnvironmentRecord(engine, objectInstance, provideThis), outer));
 }
 public LexicalEnvironment(EnvironmentRecord record, LexicalEnvironment outer)
 {
     _record = record;
     _outer  = outer;
 }