unsigned FindCdbBreakpoint::searchFrom(unsigned line)
{
m_initialLine = line;
- m_breakpointLine = 0;
+ m_breakpointLine = NO_LINE_FOUND;
accept(translationUnit()->ast());
if (ast)
return endLine(ast->lastToken() - 1);
else
- return 0;
+ return NO_LINE_FOUND;
}
bool FindCdbBreakpoint::preVisit(AST *ast)
bool FindCdbBreakpoint::visit(DeclarationStatementAST *ast)
{
foundLine(ast->lastToken() - 1);
- return m_breakpointLine == 0;
+ return m_breakpointLine == NO_LINE_FOUND;
}
bool FindCdbBreakpoint::visit(DoStatementAST *ast)
{
accept(ast->statement);
- if (m_breakpointLine == 0)
+ if (m_breakpointLine == NO_LINE_FOUND)
foundLine(ast->rparen_token);
return false;
class CPLUSPLUS_EXPORT FindCdbBreakpoint: protected ASTVisitor
{
public:
+ static const unsigned NO_LINE_FOUND = 0;
+
public:
FindCdbBreakpoint(TranslationUnit *unit);
unsigned operator()(unsigned line)
{ return searchFrom(line); }
+ /**
+ * Search for the next breakable line of code.
+ *
+ * \param line the starting line from where the next breakable code line
+ * should be found
+ * \return the next breakable code line (1-based), or \c NO_LINE_FOUND if
+ * no line could be found.
+ */
unsigned searchFrom(unsigned line);
protected: