bool HandleDecl(TemplateTypeParameter parameter, PointerDecl p, PointerType r)
 {
     return r != null &&
         r.DeclarationOrExpressionBase is PointerDecl &&
         HandleDecl(parameter, p.InnerDeclaration, r.Base);
 }
 public virtual void Visit(PointerDecl td)
 {
     VisitInner(td);
 }
 public virtual void Visit(PointerDecl td)
 {
     VisitInner(td);
 }
        public static PointerType Resolve(PointerDecl pd, ResolutionContext ctxt)
        {
            var ptrBaseTypes = Resolve(pd.InnerDeclaration, ctxt);

            ctxt.CheckForSingleResult(ptrBaseTypes, pd);

            if (ptrBaseTypes == null || ptrBaseTypes.Length == 0)
                return null;

            return new PointerType(ptrBaseTypes[0], pd);
        }