Lines Matching refs:childNode
300 void VarBinder::BuildVarDeclaratorId(ir::AstNode *childNode)
302 switch (childNode->Type()) {
304 auto *ident = childNode->AsIdentifier();
319 auto *objPattern = childNode->AsObjectPattern();
329 auto *arrayPattern = childNode->AsArrayPattern();
331 for (auto *element : childNode->AsArrayPattern()->Elements()) {
339 ResolveReference(childNode->AsAssignmentPattern()->Right());
340 BuildVarDeclaratorId(childNode->AsAssignmentPattern()->Left());
344 ResolveReference(childNode->AsProperty()->Key());
345 BuildVarDeclaratorId(childNode->AsProperty()->Value());
349 BuildVarDeclaratorId(childNode->AsRestElement()->Argument());
539 void VarBinder::ResolveReference(ir::AstNode *childNode)
541 switch (childNode->Type()) {
543 auto *ident = childNode->AsIdentifier();
546 ResolveReferences(childNode);
552 ResolveReferences(childNode);
556 VisitScriptFunctionWithPotentialTypeParams(childNode->AsScriptFunction());
560 BuildVarDeclarator(childNode->AsVariableDeclarator());
564 BuildClassDefinition(childNode->AsClassDefinition());
568 BuildClassProperty(childNode->AsClassProperty());
572 auto scopeCtx = LexicalScope<Scope>::Enter(this, childNode->AsBlockStatement()->Scope());
574 ResolveReferences(childNode);
578 auto scopeCtx = LexicalScope<Scope>::Enter(this, childNode->AsBlockExpression()->Scope());
580 ResolveReferences(childNode);
584 auto scopeCtx = LexicalScope<LocalScope>::Enter(this, childNode->AsSwitchStatement()->Scope());
586 ResolveReferences(childNode);
590 auto *doWhileStatement = childNode->AsDoWhileStatement();
601 auto *whileStatement = childNode->AsWhileStatement();
610 BuildForUpdateLoop(childNode->AsForUpdateStatement());
614 auto *forInStmt = childNode->AsForInStatement();
620 auto *forOfStmt = childNode->AsForOfStatement();
625 BuildCatchClause(childNode->AsCatchClause());
629 BuildTypeAliasDeclaration(childNode->AsTSTypeAliasDeclaration());
633 HandleCustomNodes(childNode);
641 parent->Iterate([this](auto *childNode) { ResolveReference(childNode); });