Lines Matching defs:parser
27 #include "parser/ETSparser.h"
30 ir::Expression *ObjectIndexLowering::ProcessIndexSetAccess(parser::ETSParser *parser, checker::ETSChecker *checker,
33 // Note! We assume that parser and checker phase nave been already passed correctly, thus the class has
40 auto *const loweringResult = parser->CreateFormattedExpression(
49 ir::Expression *ObjectIndexLowering::ProcessIndexGetAccess(parser::ETSParser *parser, checker::ETSChecker *checker,
52 // Note! We assume that parser and checker phase nave been already passed correctly, thus the class has
59 parser->CreateFormattedExpression(CALL_EXPRESSION, memberExpression->Object(), memberExpression->Property());
68 bool ObjectIndexLowering::Perform(public_lib::Context *ctx, parser::Program *program)
79 auto *const parser = ctx->parser->AsETSParser();
80 ASSERT(parser != nullptr);
85 [this, parser, checker](ir::AstNode *const ast) -> ir::AstNode * {
92 return ProcessIndexSetAccess(parser, checker, ast->AsAssignmentExpression());
100 [this, parser, checker](ir::AstNode *const ast) -> ir::AstNode * {
105 return ProcessIndexGetAccess(parser, checker, ast->AsMemberExpression());
115 bool ObjectIndexLowering::Postcondition(public_lib::Context *ctx, const parser::Program *program)
117 auto checkExternalPrograms = [this, ctx](const ArenaVector<parser::Program *> &programs) {