• Home
  • Raw
  • Download

Lines Matching refs:node

30 static bool CheckTdz(const ir::AstNode *node)  in CheckTdz()  argument
32 return node->IsIdentifier() && node->AsIdentifier()->IsTdz(); in CheckTdz()
35 static void CheckConstAssignment(PandaGen *pg, const ir::AstNode *node, binder::Variable *variable) in CheckConstAssignment() argument
41 pg->ThrowConstAssignment(node, variable->Name()); in CheckConstAssignment()
46 static void ExpandLoadLexVar(PandaGen *pg, const ir::AstNode *node, const binder::ScopeFindResult &… in ExpandLoadLexVar() argument
55 if (classDef == util::Helpers::GetContainingSendableClass(node) && in ExpandLoadLexVar()
57 pg->LoadSendableClass(node, result.lexLevel); in ExpandLoadLexVar()
64 pg->LoadSendableVar(node, result.sendableLevel, local->LexIdx()); in ExpandLoadLexVar()
66 pg->LoadLexicalVar(node, result.lexLevel, local->LexIdx(), result.variable->Name()); in ExpandLoadLexVar()
70 pg->ThrowUndefinedIfHole(node, result.variable->Name()); in ExpandLoadLexVar()
74 static void ExpandLoadNormalVar(PandaGen *pg, const ir::AstNode *node, const binder::ScopeFindResul… in ExpandLoadNormalVar() argument
78 if (CheckTdz(node)) { in ExpandLoadNormalVar()
79 pg->LoadConst(node, Constant::JS_HOLE); in ExpandLoadNormalVar()
80 pg->ThrowUndefinedIfHole(node, local->Name()); in ExpandLoadNormalVar()
82 pg->LoadAccumulator(node, local->Vreg()); in ExpandLoadNormalVar()
86 void VirtualLoadVar::Expand(PandaGen *pg, const ir::AstNode *node, const binder::ScopeFindResult &r… in Expand() argument
89 ExpandLoadLexVar(pg, node, result); in Expand()
91 ExpandLoadNormalVar(pg, node, result); in Expand()
97 static void ExpandStoreLexVar(PandaGen *pg, const ir::AstNode *node, const binder::ScopeFindResult … in ExpandStoreLexVar() argument
107 pg->StoreAccumulator(node, valueReg); in ExpandStoreLexVar()
109 ExpandLoadLexVar(pg, node, result); in ExpandStoreLexVar()
112 pg->ThrowConstAssignment(node, local->Name()); in ExpandStoreLexVar()
115 pg->LoadAccumulator(node, valueReg); in ExpandStoreLexVar()
119 pg->StoreSendableVar(node, result.sendableLevel, local->LexIdx()); in ExpandStoreLexVar()
122 pg->StoreLexicalVar(node, result.lexLevel, local->LexIdx(), local); in ExpandStoreLexVar()
125 static void ExpandStoreNormalVar(PandaGen *pg, const ir::AstNode *node, const binder::ScopeFindResu… in ExpandStoreNormalVar() argument
132 if (CheckTdz(node)) { in ExpandStoreNormalVar()
133 pg->LoadConst(node, Constant::JS_HOLE); in ExpandStoreNormalVar()
134 pg->ThrowUndefinedIfHole(node, local->Name()); in ExpandStoreNormalVar()
137 CheckConstAssignment(pg, node, local); in ExpandStoreNormalVar()
140 pg->StoreAccumulator(node, localReg); in ExpandStoreNormalVar()
143 void VirtualStoreVar::Expand(PandaGen *pg, const ir::AstNode *node, const binder::ScopeFindResult &… in Expand() argument
146 ExpandStoreLexVar(pg, node, result, isDecl); in Expand()
148 ExpandStoreNormalVar(pg, node, result, isDecl); in Expand()