Lines Matching refs:Pattern
271 const FunctionDecl *Pattern, bool RelativeToPrimary, in HandleFunction() argument
321 (!Pattern || !Pattern->getLexicalDeclContext()->isFileContext())) { in HandleFunction()
467 const FunctionDecl *Pattern, bool ForConstraintInstantiation, in getTemplateInstantiationArgs() argument
509 R = HandleFunction(*this, Function, Result, Pattern, RelativeToPrimary, in getTemplateInstantiationArgs()
3299 CXXRecordDecl *Pattern, in SubstBaseSpecifiers() argument
3303 for (const auto &Base : Pattern->bases()) { in SubstBaseSpecifiers()
3413 CXXRecordDecl *Instantiation, CXXRecordDecl *Pattern, in InstantiateClass() argument
3418 = cast_or_null<CXXRecordDecl>(Pattern->getDefinition()); in InstantiateClass()
3421 Pattern, PatternDef, TSK, Complain)) in InstantiateClass()
3437 Pattern = PatternDef; in InstantiateClass()
3476 InstantiateAttrs(TemplateArgs, Pattern, Instantiation); in InstantiateClass()
3486 Instantiation->setTagKind(Pattern->getTagKind()); in InstantiateClass()
3489 if (SubstBaseSpecifiers(Instantiation, Pattern, TemplateArgs)) in InstantiateClass()
3500 for (auto *Member : Pattern->decls()) { in InstantiateClass()
3510 if (Member->getDeclContext() != Pattern) in InstantiateClass()
3604 Instantiation->setLocation(Pattern->getLocation()); in InstantiateClass()
3605 Instantiation->setLocStart(Pattern->getInnerLocStart()); in InstantiateClass()
3606 Instantiation->setBraceRange(Pattern->getBraceRange()); in InstantiateClass()
3611 if (Pattern->isDependentContext()) in InstantiateClass()
3612 PerformDependentDiagnostics(Pattern, TemplateArgs); in InstantiateClass()
3662 EnumDecl *Instantiation, EnumDecl *Pattern, in InstantiateEnum() argument
3665 EnumDecl *PatternDef = Pattern->getDefinition(); in InstantiateEnum()
3668 Pattern, PatternDef, TSK,/*Complain*/true)) in InstantiateEnum()
3670 Pattern = PatternDef; in InstantiateEnum()
3700 InstantiateAttrs(TemplateArgs, Pattern, Instantiation); in InstantiateEnum()
3703 Instantiator.InstantiateEnumDefinition(Instantiation, Pattern); in InstantiateEnum()
3713 FieldDecl *Pattern, const MultiLevelTemplateArgumentList &TemplateArgs) { in InstantiateInClassInitializer() argument
3715 if (!Pattern->hasInClassInitializer()) in InstantiateInClassInitializer()
3719 Pattern->getInClassInitStyle() && in InstantiateInClassInitializer()
3724 Expr *OldInit = Pattern->getInClassInitializer(); in InstantiateInClassInitializer()
3726 RecordDecl *PatternRD = Pattern->getParent(); in InstantiateInClassInitializer()
3730 << OutermostClass << Pattern; in InstantiateInClassInitializer()
3731 Diag(Pattern->getEndLoc(), in InstantiateInClassInitializer()
3927 CXXRecordDecl *Pattern = nullptr; in getPatternForClassTemplateSpecialization() local
3940 Pattern = PartialSpec; in getPatternForClassTemplateSpecialization()
3951 Pattern = Template->getTemplatedDecl(); in getPatternForClassTemplateSpecialization()
3954 return Pattern; in getPatternForClassTemplateSpecialization()
3967 ActionResult<CXXRecordDecl *> Pattern = in InstantiateClassTemplateSpecialization() local
3970 if (!Pattern.isUsable()) in InstantiateClassTemplateSpecialization()
3971 return Pattern.isInvalid(); in InstantiateClassTemplateSpecialization()
3974 PointOfInstantiation, ClassTemplateSpec, Pattern.get(), in InstantiateClassTemplateSpecialization()
3994 if (FunctionDecl *Pattern = in InstantiateClassMembers() local
4032 if (TSK == TSK_ExplicitInstantiationDefinition && !Pattern->isDefined()) in InstantiateClassMembers()
4125 CXXRecordDecl *Pattern = Record->getInstantiatedFromMemberClass(); in InstantiateClassMembers() local
4126 assert(Pattern && "Missing instantiated-from-template information"); in InstantiateClassMembers()
4129 if (!Pattern->getDefinition()) { in InstantiateClassMembers()
4144 InstantiateClass(PointOfInstantiation, Record, Pattern, in InstantiateClassMembers()
4156 Pattern = cast_or_null<CXXRecordDecl>(Record->getDefinition()); in InstantiateClassMembers()
4157 if (Pattern) in InstantiateClassMembers()
4158 InstantiateClassMembers(PointOfInstantiation, Pattern, TemplateArgs, in InstantiateClassMembers()
4178 EnumDecl *Pattern = Enum->getTemplateInstantiationPattern(); in InstantiateClassMembers() local
4179 assert(Pattern && "Missing instantiated-from-template information"); in InstantiateClassMembers()
4182 if (!Pattern->getDefinition()) in InstantiateClassMembers()
4185 InstantiateEnum(PointOfInstantiation, Enum, Pattern, TemplateArgs, TSK); in InstantiateClassMembers()
4198 FieldDecl *Pattern = Lookup.find_first<FieldDecl>(); in InstantiateClassMembers() local
4199 assert(Pattern); in InstantiateClassMembers()
4200 InstantiateInClassInitializer(PointOfInstantiation, Field, Pattern, in InstantiateClassMembers()