Lines Matching refs:childNode

455 void Binder::BuildVarDeclaratorId(const ir::AstNode *parent, ir::AstNode *childNode)
457 childNode->SetParent(parent);
459 switch (childNode->Type()) {
461 auto *ident = childNode->AsIdentifier();
482 auto *objPattern = childNode->AsObjectPattern();
485 BuildVarDeclaratorId(childNode, prop);
492 auto *arrayPattern = childNode->AsArrayPattern();
494 for (auto *element : childNode->AsArrayPattern()->Elements()) {
495 BuildVarDeclaratorId(childNode, element);
502 ResolveReference(childNode, childNode->AsAssignmentPattern()->Right());
503 BuildVarDeclaratorId(childNode, childNode->AsAssignmentPattern()->Left());
507 ResolveReference(childNode, childNode->AsProperty()->Key());
508 BuildVarDeclaratorId(childNode, childNode->AsProperty()->Value());
512 BuildVarDeclaratorId(childNode, childNode->AsRestElement()->Argument());
692 void Binder::ResolveReference(const ir::AstNode *parent, ir::AstNode *childNode)
694 childNode->SetParent(parent);
696 ClassTdz classTdz(parent, childNode, scope_);
698 switch (childNode->Type()) {
700 auto *ident = childNode->AsIdentifier();
717 ResolveReferences(childNode);
721 auto *annotation = childNode->AsAnnotation();
741 ResolveReferences(childNode);
746 CheckPrivateDeclaration(childNode->AsPrivateIdentifier());
749 CheckPrivateDeclaration(childNode->AsPrivateIdentifier());
757 ResolveReferences(childNode);
762 auto *scriptFunc = childNode->AsScriptFunction();
825 BuildVarDeclarator(childNode->AsVariableDeclarator());
830 auto *classScope = childNode->AsClassDefinition()->Scope();
832 BuildClassDefinition(childNode->AsClassDefinition());
839 auto *prop = childNode->AsClassProperty();
844 ResolveReferences(childNode);
860 auto scope = childNode->AsBlockStatement()->Scope();
865 ResolveReferences(childNode);
869 auto *switchStatement = childNode->AsSwitchStatement();
872 auto scopeCtx = LexicalScope<LocalScope>::Enter(this, childNode->AsSwitchStatement()->Scope());
879 auto *doWhileStatement = childNode->AsDoWhileStatement();
891 auto *whileStatement = childNode->AsWhileStatement();
900 BuildForUpdateLoop(childNode->AsForUpdateStatement());
904 auto *forInStmt = childNode->AsForInStatement();
910 auto *forOfStmt = childNode->AsForOfStatement();
915 BuildCatchClause(childNode->AsCatchClause());
919 ValidateExportDecl(childNode->AsExportNamedDeclaration());
921 ResolveReferences(childNode);
929 BuildTSSignatureDeclarationBaseParams(childNode);
933 auto scopeCtx = LexicalScope<Scope>::Enter(this, childNode->AsTSModuleDeclaration()->Scope());
934 ResolveReferences(childNode);
938 auto scopeCtx = LexicalScope<Scope>::Enter(this, childNode->AsTSEnumDeclaration()->Scope());
939 ResolveReferences(childNode);
943 ResolveReferences(childNode);
950 parent->Iterate([this, parent](auto *childNode) { ResolveReference(parent, childNode); });
1117 parentNode->UpdateSelf([=](auto *childNode) {
1118 if (childNode == ident) {
1121 return childNode;
1146 ClassTdz::ClassTdz(const ir::AstNode *parent, const ir::AstNode *childNode, Scope *scope)
1155 bool isClassTdz = (parent->IsClassProperty() && childNode == parent->AsClassProperty()->Key()) ||
1156 (parent->IsMethodDefinition() && childNode == parent->AsMethodDefinition()->Key());