Lines Matching defs:node
214 body->IterateRecursively([&](ir::AstNode *node) {
215 if (node->IsIdentifier()) {
216 auto *id = node->AsIdentifier();
224 if (node->IsTyped() && node->AsTyped()->TsType() != nullptr) {
225 node->AsTyped()->SetTsType(node->AsTyped()->TsType()->Substitute(checker->Relation(), substitution));
227 if (node->IsCallExpression()) {
228 node->AsCallExpression()->SetSignature(
229 node->AsCallExpression()->Signature()->Substitute(checker->Relation(), substitution));
231 if (node->IsETSNewClassInstanceExpression()) {
232 node->AsETSNewClassInstanceExpression()->SetSignature(
233 node->AsETSNewClassInstanceExpression()->GetSignature()->Substitute(checker->Relation(), substitution));
235 if (node->IsScriptFunction()) {
236 node->AsScriptFunction()->SetSignature(
237 node->AsScriptFunction()->Signature()->Substitute(checker->Relation(), substitution));
239 if (node->IsVariableDeclarator()) {
240 auto *id = node->AsVariableDeclarator()->Id();
1035 static bool IsFunctionOrMethodCall(ir::AstNode const *node)
1037 ASSERT(node->IsCallExpression());
1038 auto const *callee = node->AsCallExpression()->Callee();
1116 static ir::AstNode *BuildLambdaClassWhenNeeded(public_lib::Context *ctx, ir::AstNode *node)
1118 if (node->IsArrowFunctionExpression()) {
1119 return ConvertLambda(ctx, node->AsArrowFunctionExpression());
1121 if (node->IsIdentifier()) {
1122 auto *id = node->AsIdentifier();
1129 if (node->IsMemberExpression()) {
1130 auto *mexpr = node->AsMemberExpression();
1144 return node;
1174 [ctx](ir::AstNode *node) { return BuildLambdaClassWhenNeeded(ctx, node); }, Name());
1176 auto insertInvokeIfNeeded = [ctx](ir::AstNode *node) {
1177 if (node->IsCallExpression() && !IsFunctionOrMethodCall(node) &&
1178 !IsRedirectingConstructorCall(node->AsCallExpression())) {
1179 return InsertInvokeCall(ctx, node->AsCallExpression());
1181 return node;
1190 return !program->Ast()->IsAnyChild([](ir::AstNode const *node) { return node->IsArrowFunctionExpression(); });