Skip to content

Fix disassembling lateral proc overrides - #2690

Merged
wixoaGit merged 5 commits into
OpenDreamProject:masterfrom
snowyukitty:fix/disassembler-lateral-overrides
Aug 22, 2026
Merged

wixoaGit merged 5 commits into
OpenDreamProject:masterfrom
snowyukitty:fix/disassembler-lateral-overrides

Conversation

@snowyukitty

@snowyukitty snowyukitty commented Jul 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Preserve every lateral proc definition in compiler-emitted source order instead of keeping only the final definition.
  • Decompile all matching definitions together and print a notice explaining the multi-definition output.
  • Add a compiler-to-CLI regression test and run the dedicated test project in CI.

Fixes #2562

Testing

  • dotnet build DMDisassembler/DMDisassembler.csproj --configuration Release --no-restore
  • dotnet test DMDisassembler.Tests/DMDisassembler.Tests.csproj --configuration Release --no-build --no-restore
  • dotnet test DMDisassembler.Tests/DMDisassembler.Tests.csproj --configuration Release --no-build --no-restore --filter FullyQualifiedName~DMDisassembler.Tests.LateralProcTests — 1/1 passed.
  • jb inspectcode OpenDream.slnx -o="output.json" --project="DMDisassembler.Tests" --no-swea with JetBrains InspectCode 2026.2.0.2 — 0 inspection results.
  • Compiled a three-definition reproduction and confirmed the CLI prints the notice followed by definitions returning 1, 2, and 3 in source order.

@boring-cyborg boring-cyborg Bot added the Compiler Involves the OpenDream compiler label Jul 29, 2026
Comment thread DMDisassembler/Program.cs Resolved
@snowyukitty

Copy link
Copy Markdown
Contributor Author

Added a completion message after the last definition and extended the regression test to verify it appears after the final decompiled body. Thanks!

@wixoaGit
wixoaGit enabled auto-merge (squash) August 19, 2026 08:12
@wixoaGit
wixoaGit merged commit 4155cf7 into OpenDreamProject:master Aug 22, 2026
23 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Compiler Involves the OpenDream compiler size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DMDisassembler does not handle lateral proc overrides

4 participants