Lines Matching defs:LM

180   LexedMethod* LM = new LexedMethod(this, FnD);
181 getCurrentClass().LateParsedDeclarations.push_back(LM);
182 CachedTokens &Toks = LM->Toks;
388 void Parser::ParseLexedMethodDeclaration(LateParsedMethodDeclaration &LM) {
390 ReenterTemplateScopeRAII InFunctionTemplateScope(*this, LM.Method);
393 Actions.ActOnStartDelayedCXXMethodDeclaration(getCurScope(), LM.Method);
400 for (unsigned I = 0, N = LM.DefaultArgs.size(); I != N; ++I) {
401 auto Param = cast<ParmVarDecl>(LM.DefaultArgs[I].Param);
405 std::unique_ptr<CachedTokens> Toks = std::move(LM.DefaultArgs[I].Toks);
470 if (const auto *FunTmpl = dyn_cast<FunctionTemplateDecl>(LM.Method))
474 Old = cast<FunctionDecl>(LM.Method)->getPreviousDecl();
488 if (CachedTokens *Toks = LM.ExceptionSpecTokens) {
497 ExceptionSpecEnd.setEofData(LM.Method);
516 = dyn_cast<FunctionTemplateDecl>(LM.Method))
519 FunctionToPush = cast<FunctionDecl>(LM.Method);
555 if (Tok.isNot(tok::eof) || Tok.getEofData() != LM.Method)
559 Actions.actOnDelayedExceptionSpecification(LM.Method, EST,
572 if (Tok.is(tok::eof) && Tok.getEofData() == LM.Method)
576 LM.ExceptionSpecTokens = nullptr;
582 Actions.ActOnFinishDelayedCXXMethodDeclaration(getCurScope(), LM.Method);
595 void Parser::ParseLexedMethodDef(LexedMethod &LM) {
597 ReenterTemplateScopeRAII InFunctionTemplateScope(*this, LM.D);
601 assert(!LM.Toks.empty() && "Empty body!");
602 Token LastBodyToken = LM.Toks.back();
607 BodyEnd.setEofData(LM.D);
608 LM.Toks.push_back(BodyEnd);
611 LM.Toks.push_back(Tok);
612 PP.EnterTokenStream(LM.Toks, true, /*IsReinject*/true);
625 Actions.ActOnStartOfFunctionDef(getCurScope(), LM.D);
628 ParseFunctionTryBlock(LM.D, FnScope);
633 if (Tok.is(tok::eof) && Tok.getEofData() == LM.D)
638 ParseConstructorInitializer(LM.D);
643 Actions.ActOnFinishFunctionBody(LM.D, nullptr);
648 if (Tok.is(tok::eof) && Tok.getEofData() == LM.D)
653 Actions.ActOnDefaultCtorInitializers(LM.D);
656 !isa<FunctionTemplateDecl>(LM.D) ||
657 cast<FunctionTemplateDecl>(LM.D)->getTemplateParameters()->getDepth()
662 ParseFunctionStatementBody(LM.D, FnScope);
667 if (Tok.is(tok::eof) && Tok.getEofData() == LM.D)
670 if (auto *FD = dyn_cast_or_null<FunctionDecl>(LM.D))