Lines Matching refs:childNode
98 parent->UpdateSelf([this](auto *childNode) { return VisitTSNode(childNode); }, Binder());
196 ir::UpdateNodes Transformer::VisitTSNode(ir::AstNode *childNode)
198 ASSERT(childNode != nullptr);
199 switch (childNode->Type()) {
201 auto *ident = childNode->AsIdentifier();
203 return VisitTSNodes(childNode);
228 return VisitTSNodes(childNode);
231 auto *node = childNode->AsTSModuleDeclaration();
233 return childNode;
236 SetOriginalNode(res, childNode);
240 auto *node = childNode->AsTSEnumDeclaration();
242 return childNode;
245 SetOriginalNode(res, childNode);
249 auto *node = childNode->AsExportNamedDeclaration();
252 return VisitTSNodes(childNode);
258 return childNode;
261 SetOriginalNode(res, childNode);
268 return childNode;
271 SetOriginalNode(res, childNode);
288 auto *node = childNode->AsExportDefaultDeclaration();
300 return VisitTSNodes(childNode);
303 auto *node = childNode->AsTSImportEqualsDeclaration();
306 return VisitTSNodes(childNode);
309 SetOriginalNode(res, childNode);
313 auto *node = childNode->AsClassDeclaration();
323 SetOriginalNode(res, childNode);
328 auto *node = childNode->AsClassExpression();
335 SetOriginalNode(res, childNode);
339 auto *node = childNode->AsClassDefinition();
344 auto res = VisitTSNodes(childNode);
345 SetOriginalNode(res, childNode);
349 auto id = childNode->AsTSPrivateIdentifier()->Key()->AsIdentifier();
352 SetOriginalNode(res, childNode);
356 return VisitTSNodes(childNode);
640 parent->Iterate([this, hasSuperCall](auto *childNode) {
641 FindSuperCallInCtorChildNode(childNode, hasSuperCall);
645 void Transformer::FindSuperCallInCtorChildNode(const ir::AstNode *childNode, bool *hasSuperCall)
650 switch (childNode->Type()) {
652 if (childNode->AsCallExpression()->Callee()->IsSuperExpression()) {
665 FindSuperCall(childNode, hasSuperCall);
1312 parent->Iterate([this, hasprivateIdentifier](auto *childNode) {
1313 FindPrivateIdentifierInChildNode(childNode, hasprivateIdentifier);
1317 void Transformer::FindPrivateIdentifierInChildNode(const ir::AstNode *childNode, bool *hasprivateIdentifier)
1323 switch (childNode->Type()) {
1325 if (childNode->AsMemberExpression()->Property()->IsPrivateIdentifier()) {
1332 FindPrivateIdentifierInDecorator(childNode, hasprivateIdentifier);
2633 parent->Iterate([this, parent, passed](auto *childNode) { CheckTransformedAstNode(parent, childNode, passed); });
2636 void Transformer::CheckTransformedAstNode(const ir::AstNode *parent, ir::AstNode *childNode, bool *passed) const
2641 if (childNode->IsClassProperty() &&
2642 (childNode->AsClassProperty()->IsStatic() || childNode->AsClassProperty()->Value() != nullptr)) {
2645 if (childNode->IsMethodDefinition() &&
2646 childNode->AsMethodDefinition()->Kind() == ir::MethodDefinitionKind::CONSTRUCTOR) {
2649 if (childNode->IsDecorator()) {
2652 if (childNode->Parent() != parent) {
2657 CheckTransformedAstNodes(childNode, passed);
2662 parent->Iterate([this, parentScope](auto *childNode) { ResetParentScopeForAstNode(childNode, parentScope); });
2665 void Transformer::ResetParentScopeForAstNode(ir::AstNode *childNode, binder::Scope *parentScope) const
2667 switch (childNode->Type()) {
2669 auto scope = childNode->AsScriptFunction()->Scope();
2675 auto scope = childNode->AsCatchClause()->Scope();
2681 auto scope = childNode->AsClassDefinition()->Scope();
2687 auto scope = childNode->AsBlockStatement()->Scope();
2693 auto scope = childNode->AsDoWhileStatement()->Scope();
2699 auto scope = childNode->AsWhileStatement()->Scope();
2705 auto scope = childNode->AsForInStatement()->Scope();
2711 auto scope = childNode->AsForOfStatement()->Scope();
2717 auto scope = childNode->AsForUpdateStatement()->Scope();
2723 auto scope = childNode->AsSwitchStatement()->Scope();
2729 auto scope = childNode->AsTSEnumDeclaration()->Scope();
2735 auto scope = childNode->AsTSInterfaceDeclaration()->Scope();
2741 auto scope = childNode->AsTSMethodSignature()->Scope();
2747 auto scope = childNode->AsTSModuleDeclaration()->Scope();
2753 auto scope = childNode->AsTSSignatureDeclaration()->Scope();
2759 auto scope = childNode->AsTSTypeParameterDeclaration()->Scope();
2765 auto scope = childNode->AsTSConstructorType()->Scope();
2771 auto scope = childNode->AsTSFunctionType()->Scope();
2777 ResetParentScopeForAstNodes(childNode, parentScope);