dillon1000/react
Commit
Browse files Add Mermaid visualizations for CFG into fixtures
This PR adds a new section to fixture tests, which renders the HIR into a visualization using mermaid.js syntax which can then be embedded directly into markdown. The nice thing about the mermaid syntax is that it's quite readable, so if desired we could replace the current basic block textual output with the mermaid block. I'm opting to append it for now and wait for feedback if we want to keep both or replace. To view the graphs in your editor, download an extension that adds mermaid.js support: https://mermaid-js.github.io/mermaid/#/integrations?id=editor-plugins. In vscode you can use this plugin by right clicking on "Open Preview" on any expect.md file. No extra dependencies are required for GitHub which should have builtin support for mermaid in markdown
Changed paths54 files
First-parent comparisoncompiler/forget/src/HIR/VisualizeHIRMermaid.ts AddedM compiler/forget/src/__tests__/fixtures/hir/call.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/complex-while.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/component.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/conditional-break.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/conditional-on-mutable.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/constructor.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/frozen-after-alias.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/hook-call.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/hooks-freeze-arguments.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/hooks-freeze-possibly-mutable-arguments.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/independent-across-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/independent.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/interdependent-across-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/interdependent.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/jsx-fragment.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/logical-expression.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/mutable-lifetime-loops.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/mutable-lifetime-with-aliasing.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/mutable-liverange-loop.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/property-assignment.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/reassignment-conditional.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/reassignment.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/reverse-postorder.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/simple.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-arrayexpression.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-call-jsx-2.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-call-jsx.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-complex-multiple-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-complex-single-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-for-of.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-for.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-if-else.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-nested-loops-no-reassign.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-newexpression.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-objectexpression-phi.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-objectexpression.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-property-call.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-property.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-return.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-shadowing.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-simple-phi.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-simple.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-single-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-switch.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-throw.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-while-no-reassign.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-while.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/switch-non-final-default.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/switch-with-fallthrough.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/switch.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/while-break.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/while-conditional-continue.expect.md ModifiedM compiler/forget/src/__tests__/hir-test.ts ModifiedPatch
Files changed
Rendering syntax-highlighted changes…