Update lexical environment stuffs (#327)

* treat variable in catch() as let
* add lexical environment record data into global environment for saving global permanently
* re-implement variable access bytecode generation
* re-implement class initialize operation
* re-implement global variable access bytecode for support lexcial variables in global
* fix bugs related with per-iteration lexical environment in for-statement

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
This commit is contained in:
Patrick Kim 2019-07-26 13:16:44 +09:00 committed by Hyukwoo Park
commit 2a54ab5e02
47 changed files with 1445 additions and 935 deletions

View file

@ -39,7 +39,7 @@ NEVER_INLINE bool eval(Escargot::Context* context, Escargot::String* str, Escarg
Escargot::SandBox::SandBoxResult sandBoxResult = sb.run([&]() -> Escargot::Value {
Escargot::Script* script = context->scriptParser().initializeScript(state, str, fileName);
return script->execute(stateForInit, false, false);
return script->execute(stateForInit);
});
result.result = sandBoxResult.result;