Home | History | Annotate | Download | only in Parse

Lines Matching refs:LM

133   LexedMethod* LM = new LexedMethod(this, FnD);
134 getCurrentClass().LateParsedDeclarations.push_back(LM);
135 LM->TemplateScope = getCurScope()->isTemplateParamScope();
136 CachedTokens &Toks = LM->Toks;
298 void Parser::ParseLexedMethodDeclaration(LateParsedMethodDeclaration &LM) {
300 ParseScope TemplateScope(this, Scope::TemplateParamScope, LM.TemplateScope);
302 if (LM.TemplateScope) {
303 Actions.ActOnReenterTemplateScope(getCurScope(), LM.Method);
307 Actions.ActOnStartDelayedCXXMethodDeclaration(getCurScope(), LM.Method);
313 for (unsigned I = 0, N = LM.DefaultArgs.size(); I != N; ++I) {
314 auto Param = cast<ParmVarDecl>(LM.DefaultArgs[I].Param);
318 if (CachedTokens *Toks = LM.DefaultArgs[I].Toks) {
378 LM.DefaultArgs[I].Toks = nullptr;
381 FunctionDecl *Old = cast<FunctionDecl>(LM.Method)->getPreviousDecl();
393 if (CachedTokens *Toks = LM.ExceptionSpecTokens) {
400 ExceptionSpecEnd.setEofData(LM.Method);
418 = dyn_cast<FunctionTemplateDecl>(LM.Method))
421 Method = cast<CXXMethodDecl>(LM.Method);
440 if (Tok.isNot(tok::eof) || Tok.getEofData() != LM.Method)
444 Actions.actOnDelayedExceptionSpecification(LM.Method, EST,
457 if (Tok.is(tok::eof) && Tok.getEofData() == LM.Method)
461 LM.ExceptionSpecTokens = nullptr;
467 Actions.ActOnFinishDelayedCXXMethodDeclaration(getCurScope(), LM.Method);
490 void Parser::ParseLexedMethodDef(LexedMethod &LM) {
492 ParseScope TemplateScope(this, Scope::TemplateParamScope, LM.TemplateScope);
494 if (LM.TemplateScope) {
495 Actions.ActOnReenterTemplateScope(getCurScope(), LM.D);
499 assert(!LM.Toks.empty() && "Empty body!");
500 Token LastBodyToken = LM.Toks.back();
505 BodyEnd.setEofData(LM.D);
506 LM.Toks.push_back(BodyEnd);
509 LM.Toks.push_back(Tok);
510 PP.EnterTokenStream(LM.Toks.data(), LM.Toks.size(), true, false);
520 Actions.ActOnStartOfFunctionDef(getCurScope(), LM.D);
523 ParseFunctionTryBlock(LM.D, FnScope);
528 if (Tok.is(tok::eof) && Tok.getEofData() == LM.D)
533 ParseConstructorInitializer(LM.D);
538 Actions.ActOnFinishFunctionBody(LM.D, nullptr);
543 if (Tok.is(tok::eof) && Tok.getEofData() == LM.D)
548 Actions.ActOnDefaultCtorInitializers(LM.D);
551 !isa<FunctionTemplateDecl>(LM.D) ||
552 cast<FunctionTemplateDecl>(LM.D)->getTemplateParameters()->getDepth()
557 ParseFunctionStatementBody(LM.D, FnScope);
560 if (LM.D)
561 LM.D->getAsFunction()->setLateTemplateParsed(false);
566 if (Tok.is(tok::eof) && Tok.getEofData() == LM.D)
569 if (CXXMethodDecl *MD = dyn_cast_or_null<CXXMethodDecl>(LM.D))