8 HandlerForClass(ci), ci(ci) {
10 #ifdef TEMPLATE_INFO_ONLY 12 Matcher.addMatcher(decl(anyOf(
13 classTemplateSpecializationDecl().
bind(
"class"),
14 cxxMethodDecl().
bind(
"method")
19 Matcher.addMatcher(cxxRecordDecl(
22 unless(isDerivedFrom(
"::v8toolkit::JSWrapper")),
25 anyOf(isStruct(), isClass()),
30 cxxRecordDecl(isDerivedFrom(
"::v8toolkit::WrappedClassBase")).
bind(
"class derived from WrappedClassBase")),
34 unless(matchesName(
"^::std::")),
35 cxxRecordDecl().
bind(
"not std:: class")),
38 allOf(unless(isDefinition()),
39 unless(matchesName(
"^::std::")),
40 cxxRecordDecl(hasAttr(attr::Annotate)).
bind(
"forward declaration with annotation"))
42 )), &HandlerForClass);
47 hasAttr(attr::Annotate),
48 unless(matchesName(
"^::std::")),
49 unless(matchesName(
"^::__")
52 ).
bind(
"named decl"), &HandlerForClass);
MyASTConsumer(CompilerInstance &CI)