diff --git a/src/main/doc/asm-fragments.puml b/src/main/doc/asm-fragments.puml new file mode 100644 index 000000000..271a5e7ec --- /dev/null +++ b/src/main/doc/asm-fragments.puml @@ -0,0 +1,67 @@ +@startuml +!theme sketchy-outline + +MasterSynthesizer : getSynthesizer(TargetCpu) : Synthesizer +MasterSynthesizer ... Synthesizer : "produces" + +Synthesizer -- "1" TargetCpu +Synthesizer -- "1" TemplateCache +Synthesizer -- "*" Synthesis : "uses" +Synthesizer : getFragmentInstance(InstanceSpec) : Instance +Synthesizer : Map graph +Synthesizer ... Instance : "produces" +Synthesizer ... InstanceSpec : "consumes" + +Synthesis -- "1" Signature +Synthesis -- "*" SynthesisResult +Synthesis -- "*" SynthesisOption + +SynthesisOption -- "1" Signature +SynthesisOption -- "*" Signature : "subs" +SynthesisOption -- "1" SynthesisRule + +interface SynthesisRule +SynthesisRule : matches(AsmFragmentSignature): boolean +SynthesisRule : synthesize(AsmFragmentSignature, List