blob: 86c279252d4701f300b9bfbb4426dcbd5ab793c4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# BuildSystem
This is a sequence diagram of how ProjectExplorer::BuildSystem interacts with
its implementations:
```mermaid
sequenceDiagram
User ->> BuildSystemImpl: provide data and ask for parse (impl. defined!)
BuildSystemImpl ->> BuildSystem: call requestParse() or requestDelayedParse()
activate BuildSystem
BuildSystem ->> BuildSystem: m_delayedParsingTimer sends timeout()
BuildSystem ->> BuildSystemImpl: call triggerParsing()
deactivate BuildSystem
activate BuildSystemImpl
BuildSystemImpl ->> BuildSystem: call guardParsingRun()
activate BuildSystem
BuildSystem ->> ParseGuard: Construct
activate ParseGuard
ParseGuard ->> BuildSystem: call emitParsingStarted
BuildSystem ->> User: signal parsingStarted()
BuildSystem ->> BuildSystemImpl: Hand over ParseGuard
deactivate BuildSystem
BuildSystemImpl ->> BuildSystemImpl: Do parsing
opt Report Success
BuildSystemImpl ->> ParseGuard: markAsSuccess()
end
BuildSystemImpl ->> ParseGuard: Destruct
ParseGuard ->> BuildSystem: emitParsingFinished()
activate BuildSystem
BuildSystem ->> User: Signal ParsingFinished(...)
deactivate BuildSystem
deactivate ParseGuard
deactivate BuildSystemImpl
```
|