Remove llvm:: from uses of ArrayRef.

llvm-svn: 211987
This commit is contained in:
Craig Topper 2014-06-28 23:22:23 +00:00
parent 05cef84640
commit 00bbdcf9b3
30 changed files with 59 additions and 60 deletions

View File

@ -619,7 +619,7 @@ public:
/// constant.
bool EvaluateWithSubstitution(APValue &Value, ASTContext &Ctx,
const FunctionDecl *Callee,
llvm::ArrayRef<const Expr*> Args) const;
ArrayRef<const Expr*> Args) const;
/// \brief Enumeration used to describe the kind of Null pointer constant
/// returned from \c isNullPointerConstant().

View File

@ -335,9 +335,9 @@ public:
}
/// \brief Return the array of arguments in this template argument pack.
llvm::ArrayRef<TemplateArgument> getPackAsArray() const {
ArrayRef<TemplateArgument> getPackAsArray() const {
assert(getKind() == Pack);
return llvm::ArrayRef<TemplateArgument>(Args.Args, Args.NumArgs);
return ArrayRef<TemplateArgument>(Args.Args, Args.NumArgs);
}
/// \brief Determines whether two template arguments are superficially the

View File

@ -334,7 +334,7 @@ AST_POLYMORPHIC_MATCHER_P(
AST_POLYMORPHIC_SUPPORTED_TYPES_2(ClassTemplateSpecializationDecl,
TemplateSpecializationType),
internal::Matcher<TemplateArgument>, InnerMatcher) {
llvm::ArrayRef<TemplateArgument> List =
ArrayRef<TemplateArgument> List =
internal::getTemplateSpecializationArgs(Node);
return matchesFirstInRange(InnerMatcher, List.begin(), List.end(), Finder,
Builder);
@ -434,7 +434,7 @@ AST_POLYMORPHIC_MATCHER_P2(
AST_POLYMORPHIC_SUPPORTED_TYPES_2(ClassTemplateSpecializationDecl,
TemplateSpecializationType),
unsigned, N, internal::Matcher<TemplateArgument>, InnerMatcher) {
llvm::ArrayRef<TemplateArgument> List =
ArrayRef<TemplateArgument> List =
internal::getTemplateSpecializationArgs(Node);
if (List.size() <= N)
return false;

View File

@ -1566,14 +1566,14 @@ TypeTraversePolymorphicMatcher<
// FIXME: unify ClassTemplateSpecializationDecl and TemplateSpecializationType's
// APIs for accessing the template argument list.
inline llvm::ArrayRef<TemplateArgument>
inline ArrayRef<TemplateArgument>
getTemplateSpecializationArgs(const ClassTemplateSpecializationDecl &D) {
return D.getTemplateArgs().asArray();
}
inline llvm::ArrayRef<TemplateArgument>
inline ArrayRef<TemplateArgument>
getTemplateSpecializationArgs(const TemplateSpecializationType &T) {
return llvm::ArrayRef<TemplateArgument>(T.getArgs(), T.getNumArgs());
return ArrayRef<TemplateArgument>(T.getArgs(), T.getNumArgs());
}
struct NotEqualsBoundNodePredicate {

View File

@ -79,7 +79,7 @@ public:
/// namedDecl and varDecl are excluded in a FunctionDecl context, because
/// those matchers would match respectively all or no nodes in such a context.
static std::vector<MatcherCompletion>
getCompletions(llvm::ArrayRef<std::pair<MatcherCtor, unsigned> > Context);
getCompletions(ArrayRef<std::pair<MatcherCtor, unsigned> > Context);
/// \brief Construct a matcher from the registry.
///

View File

@ -63,9 +63,9 @@ public:
const CGFunctionInfo &arrangeCXXMethodType(const CXXRecordDecl *RD,
const FunctionProtoType *FTP);
const CGFunctionInfo &arrangeFreeFunctionCall(CanQualType returnType,
llvm::ArrayRef<CanQualType> argTypes,
FunctionType::ExtInfo info,
RequiredArgs args);
ArrayRef<CanQualType> argTypes,
FunctionType::ExtInfo info,
RequiredArgs args);
private:
/// Default CodeGenOptions object used to initialize the

View File

@ -493,7 +493,7 @@ namespace clang {
Decl *VisitVarTemplateSpecializationDecl(
VarTemplateDecl *VarTemplate, VarDecl *FromVar, void *InsertPos,
const TemplateArgumentListInfo &TemplateArgsInfo,
llvm::ArrayRef<TemplateArgument> Converted);
ArrayRef<TemplateArgument> Converted);
Decl *InstantiateTypedefNameDecl(TypedefNameDecl *D, bool IsTypeAlias);
ClassTemplatePartialSpecializationDecl *

View File

@ -1839,11 +1839,11 @@ public:
void
removeOverriddenMacros(IdentifierInfo *II, AmbiguousMacros &Ambig,
llvm::ArrayRef<serialization::SubmoduleID> Overrides);
ArrayRef<serialization::SubmoduleID> Overrides);
AmbiguousMacros *
removeOverriddenMacros(IdentifierInfo *II,
llvm::ArrayRef<serialization::SubmoduleID> Overrides);
ArrayRef<serialization::SubmoduleID> Overrides);
/// \brief Retrieve the macro with the given ID.
MacroInfo *getMacro(serialization::MacroID ID);
@ -2024,7 +2024,7 @@ public:
void addPendingMacroFromModule(IdentifierInfo *II,
ModuleFile *M,
serialization::GlobalMacroID GMacID,
llvm::ArrayRef<serialization::SubmoduleID>);
ArrayRef<serialization::SubmoduleID>);
/// \brief Add a macro to deserialize its macro directive history from a PCH.
///

View File

@ -197,7 +197,7 @@ class CallEffects {
public:
/// Returns the argument effects for a call.
llvm::ArrayRef<ArgEffect> getArgs() const { return Args; }
ArrayRef<ArgEffect> getArgs() const { return Args; }
/// Returns the effects on the receiver.
ArgEffect getReceiver() const { return Receiver; }

View File

@ -1359,7 +1359,7 @@ void ObjCMigrateASTConsumer::AddCFAnnotations(ASTContext &Ctx,
Editor->commit(commit);
}
}
llvm::ArrayRef<ArgEffect> AEArgs = CE.getArgs();
ArrayRef<ArgEffect> AEArgs = CE.getArgs();
unsigned i = 0;
for (FunctionDecl::param_const_iterator pi = FuncDecl->param_begin(),
pe = FuncDecl->param_end(); pi != pe; ++pi, ++i) {
@ -1411,7 +1411,7 @@ ObjCMigrateASTConsumer::CF_BRIDGING_KIND
// At this point result type is audited for potential inclusion.
// Now, how about argument types.
llvm::ArrayRef<ArgEffect> AEArgs = CE.getArgs();
ArrayRef<ArgEffect> AEArgs = CE.getArgs();
unsigned i = 0;
bool ArgCFAudited = false;
for (FunctionDecl::param_const_iterator pi = FuncDecl->param_begin(),
@ -1488,7 +1488,7 @@ void ObjCMigrateASTConsumer::AddCFAnnotations(ASTContext &Ctx,
Editor->commit(commit);
}
}
llvm::ArrayRef<ArgEffect> AEArgs = CE.getArgs();
ArrayRef<ArgEffect> AEArgs = CE.getArgs();
unsigned i = 0;
for (ObjCMethodDecl::param_const_iterator pi = MethodDecl->param_begin(),
pe = MethodDecl->param_end(); pi != pe; ++pi, ++i) {
@ -1544,7 +1544,7 @@ void ObjCMigrateASTConsumer::migrateAddMethodAnnotation(
// At this point result type is either annotated or audited.
// Now, how about argument types.
llvm::ArrayRef<ArgEffect> AEArgs = CE.getArgs();
ArrayRef<ArgEffect> AEArgs = CE.getArgs();
unsigned i = 0;
for (ObjCMethodDecl::param_const_iterator pi = MethodDecl->param_begin(),
pe = MethodDecl->param_end(); pi != pe; ++pi, ++i) {

View File

@ -8722,7 +8722,7 @@ bool Expr::isCXX11ConstantExpr(const ASTContext &Ctx, APValue *Result,
bool Expr::EvaluateWithSubstitution(APValue &Value, ASTContext &Ctx,
const FunctionDecl *Callee,
llvm::ArrayRef<const Expr*> Args) const {
ArrayRef<const Expr*> Args) const {
Expr::EvalStatus Status;
EvalInfo Info(Ctx, Status, EvalInfo::EM_ConstantExpressionUnevaluated);

View File

@ -1170,7 +1170,7 @@ void MicrosoftCXXNameMangler::mangleTemplateArg(const TemplateDecl *TD,
mangleExpression(TA.getAsExpr());
break;
case TemplateArgument::Pack: {
llvm::ArrayRef<TemplateArgument> TemplateArgs = TA.getPackAsArray();
ArrayRef<TemplateArgument> TemplateArgs = TA.getPackAsArray();
if (TemplateArgs.empty()) {
Out << "$S";
} else {

View File

@ -3120,9 +3120,8 @@ void VFTableBuilder::dumpLayout(raw_ostream &Out) {
}
static bool setsIntersect(const llvm::SmallPtrSet<const CXXRecordDecl *, 4> &A,
const llvm::ArrayRef<const CXXRecordDecl *> &B) {
for (llvm::ArrayRef<const CXXRecordDecl *>::iterator I = B.begin(),
E = B.end();
const ArrayRef<const CXXRecordDecl *> &B) {
for (ArrayRef<const CXXRecordDecl *>::iterator I = B.begin(), E = B.end();
I != E; ++I) {
if (A.count(*I))
return true;

View File

@ -158,10 +158,10 @@ public:
};
inline bool isRetKindConvertibleTo(
llvm::ArrayRef<ast_type_traits::ASTNodeKind> RetKinds,
ArrayRef<ast_type_traits::ASTNodeKind> RetKinds,
ast_type_traits::ASTNodeKind Kind, unsigned *Specificity,
ast_type_traits::ASTNodeKind *LeastDerivedKind) {
for (llvm::ArrayRef<ast_type_traits::ASTNodeKind>::const_iterator
for (ArrayRef<ast_type_traits::ASTNodeKind>::const_iterator
i = RetKinds.begin(),
e = RetKinds.end();
i != e; ++i) {
@ -199,8 +199,8 @@ public:
/// \param ArgKinds The types of the arguments this matcher takes.
FixedArgCountMatcherDescriptor(
MarshallerType Marshaller, void (*Func)(), StringRef MatcherName,
llvm::ArrayRef<ast_type_traits::ASTNodeKind> RetKinds,
llvm::ArrayRef<ArgKind> ArgKinds)
ArrayRef<ast_type_traits::ASTNodeKind> RetKinds,
ArrayRef<ArgKind> ArgKinds)
: Marshaller(Marshaller), Func(Func), MatcherName(MatcherName),
RetKinds(RetKinds.begin(), RetKinds.end()),
ArgKinds(ArgKinds.begin(), ArgKinds.end()) {}
@ -646,7 +646,7 @@ MatcherDescriptor *makeMatcherAutoMarshall(ReturnType (*Func)(),
BuildReturnTypeVector<ReturnType>::build(RetTypes);
return new FixedArgCountMatcherDescriptor(
matcherMarshall0<ReturnType>, reinterpret_cast<void (*)()>(Func),
MatcherName, RetTypes, llvm::ArrayRef<ArgKind>());
MatcherName, RetTypes, None);
}
/// \brief 1-arg overload

View File

@ -363,7 +363,7 @@ struct ReverseSpecificityThenName {
}
std::vector<MatcherCompletion> Registry::getCompletions(
llvm::ArrayRef<std::pair<MatcherCtor, unsigned> > Context) {
ArrayRef<std::pair<MatcherCtor, unsigned> > Context) {
ASTNodeKind InitialTypes[] = {
ASTNodeKind::getFromNodeKind<Decl>(),
ASTNodeKind::getFromNodeKind<QualType>(),
@ -373,12 +373,12 @@ std::vector<MatcherCompletion> Registry::getCompletions(
ASTNodeKind::getFromNodeKind<NestedNameSpecifierLoc>(),
ASTNodeKind::getFromNodeKind<TypeLoc>()
};
llvm::ArrayRef<ASTNodeKind> InitialTypesRef(InitialTypes);
ArrayRef<ASTNodeKind> InitialTypesRef(InitialTypes);
// Starting with the above seed of acceptable top-level matcher types, compute
// the acceptable type set for the argument indicated by each context element.
std::set<ASTNodeKind> TypeSet(InitialTypesRef.begin(), InitialTypesRef.end());
for (llvm::ArrayRef<std::pair<MatcherCtor, unsigned> >::iterator
for (ArrayRef<std::pair<MatcherCtor, unsigned> >::iterator
CtxI = Context.begin(),
CtxE = Context.end();
CtxI != CtxE; ++CtxI) {

View File

@ -2403,7 +2403,7 @@ static bool AArch64SISDIntrinsicsProvenSorted = false;
static const NeonIntrinsicInfo *
findNeonIntrinsicInMap(llvm::ArrayRef<NeonIntrinsicInfo> IntrinsicMap,
findNeonIntrinsicInMap(ArrayRef<NeonIntrinsicInfo> IntrinsicMap,
unsigned BuiltinID, bool &MapProvenSorted) {
#ifndef NDEBUG
@ -3349,7 +3349,7 @@ Value *CodeGenFunction::EmitARMBuiltinExpr(unsigned BuiltinID,
// Many NEON builtins have identical semantics and uses in ARM and
// AArch64. Emit these in a single function.
llvm::ArrayRef<NeonIntrinsicInfo> IntrinsicMap(ARMSIMDIntrinsicMap);
ArrayRef<NeonIntrinsicInfo> IntrinsicMap(ARMSIMDIntrinsicMap);
const NeonIntrinsicInfo *Builtin = findNeonIntrinsicInMap(
IntrinsicMap, BuiltinID, NEONSIMDIntrinsicsProvenSorted);
if (Builtin)
@ -3908,7 +3908,7 @@ Value *CodeGenFunction::EmitAArch64BuiltinExpr(unsigned BuiltinID,
for (unsigned i = 0, e = E->getNumArgs() - 1; i != e; i++)
Ops.push_back(EmitScalarExpr(E->getArg(i)));
llvm::ArrayRef<NeonIntrinsicInfo> SISDMap(AArch64SISDIntrinsicMap);
ArrayRef<NeonIntrinsicInfo> SISDMap(AArch64SISDIntrinsicMap);
const NeonIntrinsicInfo *Builtin = findNeonIntrinsicInMap(
SISDMap, BuiltinID, AArch64SISDIntrinsicsProvenSorted);

View File

@ -311,7 +311,7 @@ CGCXXABI::EmitCtorCompleteObjectHandler(CodeGenFunction &CGF,
}
void CGCXXABI::EmitThreadLocalInitFuncs(
llvm::ArrayRef<std::pair<const VarDecl *, llvm::GlobalVariable *> > Decls,
ArrayRef<std::pair<const VarDecl *, llvm::GlobalVariable *> > Decls,
llvm::Function *InitFunc) {
}

View File

@ -507,7 +507,7 @@ public:
/// initialization or non-trivial destruction for thread_local
/// variables, a function to perform the initialization. Otherwise, 0.
virtual void EmitThreadLocalInitFuncs(
llvm::ArrayRef<std::pair<const VarDecl *, llvm::GlobalVariable *> > Decls,
ArrayRef<std::pair<const VarDecl *, llvm::GlobalVariable *> > Decls,
llvm::Function *InitFunc);
/// Emit a reference to a non-local thread_local variable (including

View File

@ -61,7 +61,7 @@ CodeGenABITypes::arrangeCXXMethodType(const CXXRecordDecl *RD,
const CGFunctionInfo &
CodeGenABITypes::arrangeFreeFunctionCall(CanQualType returnType,
llvm::ArrayRef<CanQualType> argTypes,
ArrayRef<CanQualType> argTypes,
FunctionType::ExtInfo info,
RequiredArgs args) {
return CGM->getTypes().arrangeLLVMFunctionInfo(

View File

@ -2312,7 +2312,7 @@ public:
llvm::Value *EmitARCRetainScalarExpr(const Expr *expr);
llvm::Value *EmitARCRetainAutoreleaseScalarExpr(const Expr *expr);
void EmitARCIntrinsicUse(llvm::ArrayRef<llvm::Value*> values);
void EmitARCIntrinsicUse(ArrayRef<llvm::Value*> values);
static Destroyer destroyARCStrongImprecise;
static Destroyer destroyARCStrongPrecise;

View File

@ -232,7 +232,7 @@ public:
llvm::Function *getOrCreateThreadLocalWrapper(const VarDecl *VD,
llvm::GlobalVariable *Var);
void EmitThreadLocalInitFuncs(
llvm::ArrayRef<std::pair<const VarDecl *, llvm::GlobalVariable *> > Decls,
ArrayRef<std::pair<const VarDecl *, llvm::GlobalVariable *> > Decls,
llvm::Function *InitFunc) override;
LValue EmitThreadLocalVarDeclLValue(CodeGenFunction &CGF, const VarDecl *VD,
QualType LValType) override;
@ -1831,7 +1831,7 @@ ItaniumCXXABI::getOrCreateThreadLocalWrapper(const VarDecl *VD,
}
void ItaniumCXXABI::EmitThreadLocalInitFuncs(
llvm::ArrayRef<std::pair<const VarDecl *, llvm::GlobalVariable *> > Decls,
ArrayRef<std::pair<const VarDecl *, llvm::GlobalVariable *> > Decls,
llvm::Function *InitFunc) {
for (unsigned I = 0, N = Decls.size(); I != N; ++I) {
const VarDecl *VD = Decls[I].first;

View File

@ -153,7 +153,7 @@ static llvm::StructType *getCompleteObjectLocatorType(CodeGenModule &CGM) {
CGM, getClassHierarchyDescriptorType(CGM)->getPointerTo()),
getImageRelativeType(CGM, Type),
};
llvm::ArrayRef<llvm::Type *> FieldTypesRef(
ArrayRef<llvm::Type *> FieldTypesRef(
std::begin(FieldTypes),
isImageRelative(CGM) ? std::end(FieldTypes) : std::end(FieldTypes) - 1);
Type->setBody(FieldTypesRef);
@ -341,7 +341,7 @@ llvm::GlobalVariable *MSRTTIBuilder::getClassHierarchyDescriptor() {
getImageRelativeConstant(CGM,
llvm::ConstantExpr::getInBoundsGetElementPtr(
getBaseClassArray(Classes),
llvm::ArrayRef<llvm::Value *>(GEPIndices))),
ArrayRef<llvm::Value *>(GEPIndices))),
};
CHD->setInitializer(llvm::ConstantStruct::get(Type, Fields));
return CHD;
@ -460,7 +460,7 @@ MSRTTIBuilder::getCompleteObjectLocator(const VPtrInfo *Info) {
getImageRelativeConstant(CGM, getClassHierarchyDescriptor()),
getImageRelativeConstant(CGM, COL),
};
llvm::ArrayRef<llvm::Constant *> FieldsRef(Fields);
ArrayRef<llvm::Constant *> FieldsRef(Fields);
if (!isImageRelative(CGM))
FieldsRef = FieldsRef.slice(0, FieldsRef.size() - 1);
COL->setInitializer(llvm::ConstantStruct::get(Type, FieldsRef));

View File

@ -5135,7 +5135,7 @@ ExprResult Sema::ActOnDecltypeExpression(Expr *E) {
/// Note a set of 'operator->' functions that were used for a member access.
static void noteOperatorArrows(Sema &S,
llvm::ArrayRef<FunctionDecl *> OperatorArrows) {
ArrayRef<FunctionDecl *> OperatorArrows) {
unsigned SkipStart = OperatorArrows.size(), SkipCount = 0;
// FIXME: Make this configurable?
unsigned Limit = 9;

View File

@ -5732,8 +5732,8 @@ EnableIfAttr *Sema::CheckEnableIf(FunctionDecl *Function, ArrayRef<Expr *> Args,
EnableIfAttr *EIA = cast<EnableIfAttr>(*I);
if (!EIA->getCond()->EvaluateWithSubstitution(
Result, Context, Function,
llvm::ArrayRef<const Expr*>(ConvertedArgs.data(),
ConvertedArgs.size())) ||
ArrayRef<const Expr*>(ConvertedArgs.data(),
ConvertedArgs.size())) ||
!Result.isInt() || !Result.getInt().getBoolValue()) {
return EIA;
}

View File

@ -2516,7 +2516,7 @@ Decl *TemplateDeclInstantiator::VisitVarTemplateSpecializationDecl(
Decl *TemplateDeclInstantiator::VisitVarTemplateSpecializationDecl(
VarTemplateDecl *VarTemplate, VarDecl *D, void *InsertPos,
const TemplateArgumentListInfo &TemplateArgsInfo,
llvm::ArrayRef<TemplateArgument> Converted) {
ArrayRef<TemplateArgument> Converted) {
// If this is the variable for an anonymous struct or union,
// instantiate the anonymous struct/union type first.

View File

@ -805,7 +805,7 @@ IdentifierInfo *ASTIdentifierLookupTrait::ReadData(const internal_key_type& k,
I -= *SI;
uint32_t LocalMacroID = *I;
llvm::ArrayRef<uint32_t> Overrides;
ArrayRef<uint32_t> Overrides;
if (*SI != 1)
Overrides = llvm::makeArrayRef(&I[2], *SI - 2);
Reader.addPendingMacroFromModule(II, &F, LocalMacroID, Overrides);
@ -1557,7 +1557,7 @@ HeaderFileInfoTrait::ReadData(internal_key_ref key, const unsigned char *d,
void
ASTReader::addPendingMacroFromModule(IdentifierInfo *II, ModuleFile *M,
GlobalMacroID GMacID,
llvm::ArrayRef<SubmoduleID> Overrides) {
ArrayRef<SubmoduleID> Overrides) {
assert(NumCurrentElementsDeserializing > 0 &&"Missing deserialization guard");
SubmoduleID *OverrideData = nullptr;
if (!Overrides.empty()) {
@ -1726,9 +1726,9 @@ struct ASTReader::ModuleMacroInfo {
SubmoduleID getSubmoduleID() const { return SubModID; }
llvm::ArrayRef<SubmoduleID> getOverriddenSubmodules() const {
ArrayRef<SubmoduleID> getOverriddenSubmodules() const {
if (!Overrides)
return llvm::ArrayRef<SubmoduleID>();
return None;
return llvm::makeArrayRef(Overrides + 1, *Overrides);
}
@ -1878,7 +1878,7 @@ static bool areDefinedInSystemModules(MacroInfo *PrevMI, MacroInfo *NewMI,
void ASTReader::removeOverriddenMacros(IdentifierInfo *II,
AmbiguousMacros &Ambig,
llvm::ArrayRef<SubmoduleID> Overrides) {
ArrayRef<SubmoduleID> Overrides) {
for (unsigned OI = 0, ON = Overrides.size(); OI != ON; ++OI) {
SubmoduleID OwnerID = Overrides[OI];
@ -1903,7 +1903,7 @@ void ASTReader::removeOverriddenMacros(IdentifierInfo *II,
ASTReader::AmbiguousMacros *
ASTReader::removeOverriddenMacros(IdentifierInfo *II,
llvm::ArrayRef<SubmoduleID> Overrides) {
ArrayRef<SubmoduleID> Overrides) {
MacroDirective *Prev = PP.getMacroDirective(II);
if (!Prev && Overrides.empty())
return nullptr;

View File

@ -3163,7 +3163,7 @@ public:
}
static void emitMacroOverrides(raw_ostream &Out,
llvm::ArrayRef<SubmoduleID> Overridden) {
ArrayRef<SubmoduleID> Overridden) {
if (!Overridden.empty()) {
using namespace llvm::support;
endian::Writer<little> LE(Out);

View File

@ -311,7 +311,7 @@ static void addParameterValuesToBindings(const StackFrameContext *CalleeCtx,
ArrayRef<ParmVarDecl*> AnyFunctionCall::parameters() const {
const FunctionDecl *D = getDecl();
if (!D)
return llvm::ArrayRef<ParmVarDecl*>();
return None;
return D->parameters();
}

View File

@ -300,7 +300,7 @@ int main(int argc_, const char **argv_) {
SmallVector<const char *, 256> argv;
llvm::SpecificBumpPtrAllocator<char> ArgAllocator;
std::error_code EC = llvm::sys::Process::GetArgumentVector(
argv, llvm::ArrayRef<const char *>(argv_, argc_), ArgAllocator);
argv, ArrayRef<const char *>(argv_, argc_), ArgAllocator);
if (EC) {
llvm::errs() << "error: couldn't get arguments: " << EC.message() << '\n';
return 1;

View File

@ -83,7 +83,7 @@ public:
CompVector getCompletions() {
return Registry::getCompletions(
llvm::ArrayRef<std::pair<MatcherCtor, unsigned> >());
ArrayRef<std::pair<MatcherCtor, unsigned> >());
}
CompVector getCompletions(StringRef MatcherName1, unsigned ArgNo1) {