public override bool VisitClassTemplateSpecializationDecl(ClassTemplateSpecialization specialization) { if (!base.VisitClassTemplateSpecializationDecl(specialization)) { return(false); } if (specialization.GenerationKind == GenerationKind.Internal) { return(false); } TypeMap typeMap; if (!Options.GenerateClassTemplates && !specialization.IsExplicitlyGenerated && !Context.TypeMaps.FindTypeMap(specialization, out typeMap)) { specialization.ExplicitlyIgnore(); return(false); } Declaration decl = null; if (specialization.Arguments.Any(a => a.Type.Type?.TryGetDeclaration(out decl) == true) && decl.Ignore) { specialization.ExplicitlyIgnore(); return(false); } return(true); }
public override bool VisitClassTemplateSpecializationDecl(ClassTemplateSpecialization specialization) { if (!base.VisitClassTemplateSpecializationDecl(specialization)) { return(false); } if (!Options.GenerateClassTemplates && !specialization.IsExplicitlyGenerated) { specialization.ExplicitlyIgnore(); return(false); } Declaration decl = null; if (specialization.Arguments.Any(a => a.Type.Type?.TryGetDeclaration(out decl) == true)) { decl.Visit(this); if (decl.Ignore) { specialization.ExplicitlyIgnore(); return(false); } } return(true); }
public override bool VisitClassTemplateSpecializationDecl(ClassTemplateSpecialization specialization) { specialization.ExplicitlyIgnore(); return(false); }