Lines Matching refs:LM
134 LexedMethod* LM = new LexedMethod(this, FnD); in ParseCXXInlineMethodDef() local
135 getCurrentClass().LateParsedDeclarations.push_back(LM); in ParseCXXInlineMethodDef()
136 CachedTokens &Toks = LM->Toks; in ParseCXXInlineMethodDef()
342 void Parser::ParseLexedMethodDeclaration(LateParsedMethodDeclaration &LM) { in ParseLexedMethodDeclaration() argument
344 ReenterTemplateScopeRAII InFunctionTemplateScope(*this, LM.Method); in ParseLexedMethodDeclaration()
347 Actions.ActOnStartDelayedCXXMethodDeclaration(getCurScope(), LM.Method); in ParseLexedMethodDeclaration()
354 for (unsigned I = 0, N = LM.DefaultArgs.size(); I != N; ++I) { in ParseLexedMethodDeclaration()
355 auto Param = cast<ParmVarDecl>(LM.DefaultArgs[I].Param); in ParseLexedMethodDeclaration()
359 std::unique_ptr<CachedTokens> Toks = std::move(LM.DefaultArgs[I].Toks); in ParseLexedMethodDeclaration()
423 if (const auto *FunTmpl = dyn_cast<FunctionTemplateDecl>(LM.Method)) in ParseLexedMethodDeclaration()
427 Old = cast<FunctionDecl>(LM.Method)->getPreviousDecl(); in ParseLexedMethodDeclaration()
441 if (CachedTokens *Toks = LM.ExceptionSpecTokens) { in ParseLexedMethodDeclaration()
450 ExceptionSpecEnd.setEofData(LM.Method); in ParseLexedMethodDeclaration()
468 = dyn_cast<FunctionTemplateDecl>(LM.Method)) in ParseLexedMethodDeclaration()
471 Method = dyn_cast<CXXMethodDecl>(LM.Method); in ParseLexedMethodDeclaration()
491 if (Tok.isNot(tok::eof) || Tok.getEofData() != LM.Method) in ParseLexedMethodDeclaration()
495 Actions.actOnDelayedExceptionSpecification(LM.Method, EST, in ParseLexedMethodDeclaration()
508 if (Tok.is(tok::eof) && Tok.getEofData() == LM.Method) in ParseLexedMethodDeclaration()
512 LM.ExceptionSpecTokens = nullptr; in ParseLexedMethodDeclaration()
518 Actions.ActOnFinishDelayedCXXMethodDeclaration(getCurScope(), LM.Method); in ParseLexedMethodDeclaration()
531 void Parser::ParseLexedMethodDef(LexedMethod &LM) { in ParseLexedMethodDef() argument
533 ReenterTemplateScopeRAII InFunctionTemplateScope(*this, LM.D); in ParseLexedMethodDef()
537 assert(!LM.Toks.empty() && "Empty body!"); in ParseLexedMethodDef()
538 Token LastBodyToken = LM.Toks.back(); in ParseLexedMethodDef()
543 BodyEnd.setEofData(LM.D); in ParseLexedMethodDef()
544 LM.Toks.push_back(BodyEnd); in ParseLexedMethodDef()
547 LM.Toks.push_back(Tok); in ParseLexedMethodDef()
548 PP.EnterTokenStream(LM.Toks, true, /*IsReinject*/true); in ParseLexedMethodDef()
559 Actions.ActOnStartOfFunctionDef(getCurScope(), LM.D); in ParseLexedMethodDef()
562 ParseFunctionTryBlock(LM.D, FnScope); in ParseLexedMethodDef()
567 if (Tok.is(tok::eof) && Tok.getEofData() == LM.D) in ParseLexedMethodDef()
572 ParseConstructorInitializer(LM.D); in ParseLexedMethodDef()
577 Actions.ActOnFinishFunctionBody(LM.D, nullptr); in ParseLexedMethodDef()
582 if (Tok.is(tok::eof) && Tok.getEofData() == LM.D) in ParseLexedMethodDef()
587 Actions.ActOnDefaultCtorInitializers(LM.D); in ParseLexedMethodDef()
590 !isa<FunctionTemplateDecl>(LM.D) || in ParseLexedMethodDef()
591 cast<FunctionTemplateDecl>(LM.D)->getTemplateParameters()->getDepth() in ParseLexedMethodDef()
596 ParseFunctionStatementBody(LM.D, FnScope); in ParseLexedMethodDef()
601 if (Tok.is(tok::eof) && Tok.getEofData() == LM.D) in ParseLexedMethodDef()
604 if (auto *FD = dyn_cast_or_null<FunctionDecl>(LM.D)) in ParseLexedMethodDef()