Lines Matching refs:varbinder

19 #include "varbinder/scope.h"
20 #include "varbinder/variableFlags.h"
50 namespace ark::es2panda::varbinder {
71 std::tuple<T *, varbinder::Variable *> NewVarDecl(const lexer::SourcePosition &pos, Args &&...args);
240 void BuildForInOfLoop(varbinder::LoopScope *loopScope, ir::AstNode *left, ir::Expression *right,
249 void AddCompilableFunctionScope(varbinder::FunctionScope *funcScope);
281 explicit LexicalScope(VarBinder *varbinder, Args &&...args)
283 varbinder->Allocator()->New<T>(varbinder->Allocator(), varbinder->scope_, std::forward<Args>(args)...),
284 varbinder)
300 [[nodiscard]] static LexicalScope<T> Enter(VarBinder *varbinder, T *scope, bool checkEval = true)
302 LexicalScope<T> lexScope(scope, varbinder);
303 if (!checkEval || varbinder->Extension() == ScriptExtension::TS) {
309 varbinder->varScope_ = scope->GetFunctionScope();
310 varbinder->varScope_->CheckDirectEval(varbinder->context_);
313 varbinder->varScope_ = scope;
314 varbinder->varScope_->CheckDirectEval(varbinder->context_);
318 varbinder->varScope_ = scope;
319 varbinder->varScope_->CheckDirectEval(varbinder->context_);
324 varbinder->varScope_ = scope;
325 varbinder->varScope_->CheckDirectEval(varbinder->context_);
337 explicit LexicalScope(T *scope, VarBinder *varbinder)
338 : varbinder_(varbinder), scope_(scope), prevScope_(varbinder->scope_), prevVarScope_(varbinder->varScope_)
386 std::tuple<T *, varbinder::Variable *> VarBinder::NewVarDecl(const lexer::SourcePosition &pos, Args &&...args)
389 varbinder::Variable *var = scope_->AddDecl(Allocator(), decl, Extension());
397 } // namespace ark::es2panda::varbinder