While diving deep into debugging my app I accidentally have noticed this: TSqlFragmentVisitor final code contains many blocks which check of VisitBaseType internal field value and if it is true then Visit method for base types is called, but for some sql-fragment classes Visit method implementation has this check negated and the behavior is reversed:
// Summary:// Visitor for DeclareCursorStatementpublicvirtualvoidVisit(DeclareCursorStatementnode){if(!VisitBaseType)<<<---here{Visit((TSqlFragment)node);}}//// Summary:// Explicit Visitor for DeclareCursorStatementpublicvirtualvoidExplicitVisit(DeclareCursorStatementnode){if(VisitBaseType){Visit((TSqlStatement)node);Visit((TSqlFragment)node);}Visit(node);node.AcceptChildren(this);}Is this expected behavior? If so, please clarify what was the intent, how VisitBaseType should be understood.
While diving deep into debugging my app I accidentally have noticed this: TSqlFragmentVisitor final code contains many blocks which check of
VisitBaseTypeinternal field value and if it istruethen Visit method for base types is called, but for some sql-fragment classes Visit method implementation has this check negated and the behavior is reversed:Is this expected behavior? If so, please clarify what was the intent, how
VisitBaseTypeshould be understood.