Visiting Implicit Code [RecursiveASTVisitor]

Hi,
I'm writing a checker that needs to visit and understand implicit code (among other things).

Note: All three "should" functions of my visitor return true, though I'm not sure this matters in this specific case (keep reading).
   bool shouldVisitTemplateInstantiations() const { return true; }
   bool shouldVisitImplicitCode() const { return true; }
   bool shouldWalkTypesOfTypeLocs() const { return true; }

In the code below the operator= is implicit (see commented out code)

class Data {
public:
   int x;
   int y;

//inline Data &operator=(const Data &D) noexcept {
// this->x = D.x;
// this->y = D.y;
// return *this;
//}

};

void copy(Data in, Data out) {
   out = in;
}

I'm visiting the code using the RecursiveASTVisitor and my problem is that the parameter of the implicit function is not visited because getTypeSourceInfo() returns null on line 1739 of RecursiveASTVisitor.h

-- RecursiveASTVisitor.h:lines 1735-1741 ----------------------------

   // Visit the function type itself, which can be either
   // FunctionNoProtoType or FunctionProtoType, or a typedef. This
   // also covers the return type and the function parameters,
   // including exception specifications.
   if (TypeSourceInfo *TSI = D->getTypeSourceInfo()) {
     TRY_TO(TraverseTypeLoc(TSI->getTypeLoc()));
   }