MCPcopy Create free account
hub / github.com/SpartanJ/eepp / setBreakpoint

Method setBreakpoint

src/tools/ecode/plugins/debugger/debuggerplugin.cpp:1687–1714  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1685}
1686
1687bool DebuggerPlugin::setBreakpoint( const std::string& doc, Uint32 lineNumber ) {
1688 Lock l( mBreakpointsMutex );
1689
1690 initStatusDebuggerController();
1691
1692 if ( !mBreakpointsModel )
1693 mBreakpointsModel = std::make_shared<BreakpointsModel>( mBreakpoints, getUISceneNode() );
1694
1695 auto sdc = getStatusDebuggerController();
1696 if ( sdc && sdc->getUIBreakpoints()->getModel() == nullptr )
1697 sdc->getUIBreakpoints()->setModel( mBreakpointsModel );
1698
1699 auto& breakpoints = mBreakpoints[doc];
1700 auto breakpointIt = breakpoints.find( SourceBreakpointStateful( lineNumber ) );
1701 if ( breakpointIt != breakpoints.end() ) {
1702 breakpoints.erase( breakpointIt );
1703 mBreakpointsModel->erase( doc, lineNumber );
1704 } else {
1705 breakpoints.insert( SourceBreakpointStateful( lineNumber ) );
1706 mBreakpointsModel->insert( doc, lineNumber );
1707 }
1708
1709 mThreadPool->run( [this, doc] { sendFileBreakpoints( doc ); } );
1710
1711 getUISceneNode()->getRoot()->invalidateDraw();
1712
1713 return true;
1714}
1715
1716bool DebuggerPlugin::setBreakpoint( TextDocument* doc, Uint32 lineNumber ) {
1717 if ( !doc->hasFilepath() )

Callers

nothing calls this directly

Calls 14

getUIBreakpointsMethod · 0.80
invalidateDrawMethod · 0.80
hasFilepathMethod · 0.80
getFilePathMethod · 0.80
getDocumentMethod · 0.80
getModelMethod · 0.45
setModelMethod · 0.45
findMethod · 0.45
endMethod · 0.45
eraseMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected