- if (const ElaboratedTypeLoc *ET = dyn_cast<ElaboratedTypeLoc>(&T))
- return getTemplateArgLoc(ET->getNamedTypeLoc(), ArgNum, ignore);
- else if (const TemplateSpecializationTypeLoc *TST = dyn_cast<TemplateSpecializationTypeLoc>(&T)) {
- if (TST->getNumArgs() >= ArgNum+1) {
- return TST->getArgLoc(ArgNum);
+ if (const ElaboratedTypeLoc ET = T.getAs<ElaboratedTypeLoc>())
+ return getTemplateArgLoc(ET.getNamedTypeLoc(), ArgNum, ignore);
+ else if (const TemplateSpecializationTypeLoc TST = T.getAs<TemplateSpecializationTypeLoc>()) {
+ if (TST.getNumArgs() >= ArgNum+1) {
+ return TST.getArgLoc(ArgNum);