blob: 4027ac4ad8becc5675905a4a731d0b3f9cccecad [file] [log] [blame]
@startuml
[*] -> LaunchIsolate
state LaunchIsolate {
[*] --> ParseCommandLineArguments
ParseCommandLineArguments --> WriteTemporarySourceCode
WriteTemporarySourceCode --> SpawnPigeonIsolate
SpawnPigeonIsolate --> WaitForPigeonIsolate
WaitForPigeonIsolate --> [*]
}
LaunchIsolate -> [*]
state PigeonIsolate {
[*] --> ParseCommandLineArguments2
ParseCommandLineArguments2 --> PrintUsage
PrintUsage --> [*]
ParseCommandLineArguments2 --> ExecuteConfigurePigeon
ExecuteConfigurePigeon --> GenerateAST
GenerateAST --> RunGenerators
RunGenerators --> PrintErrors
PrintErrors --> ReturnStatusCode
ReturnStatusCode --> [*]
state GenerateAST {
[*] --> CollectAnnotatedClasses
CollectAnnotatedClasses --> CollectAnnotatedClassesDependencies
CollectAnnotatedClassesDependencies --> BuildAST
BuildAST --> [*]
}
state RunGenerators {
state DartTestGeneratorFork <<fork>>
state DartTestGeneratorJoin <<join>>
[*] --> DartTestGeneratorFork
DartTestGeneratorFork --> DartTestGeneratorJoin
DartTestGeneratorFork --> DartTestGenerator
DartTestGenerator --> DartTestGeneratorJoin
DartTestGeneratorJoin --> [*]
||
state DartGeneratorFork <<fork>>
state DartGeneratorJoin <<join>>
[*] --> DartGeneratorFork
DartGeneratorFork --> DartGeneratorJoin
DartGeneratorFork --> DartGenerator
DartGenerator --> DartGeneratorJoin
DartGeneratorJoin --> [*]
||
state JavaGeneratorFork <<fork>>
state JavaGeneratorJoin <<join>>
[*] --> JavaGeneratorFork
JavaGeneratorFork --> JavaGeneratorJoin
JavaGeneratorFork --> JavaGenerator
JavaGenerator --> JavaGeneratorJoin
JavaGeneratorJoin --> [*]
}
}
@enduml