Skip to content

Improved decompilation and mapping of BAML connection ID records#197

Merged
ElektroKill merged 3 commits intomasterfrom
feature/improved-baml
May 15, 2023
Merged

Improved decompilation and mapping of BAML connection ID records#197
ElektroKill merged 3 commits intomasterfrom
feature/improved-baml

Conversation

@ElektroKill
Copy link
Copy Markdown
Member

@ElektroKill ElektroKill commented May 8, 2023

Link to issue(s) this pull request covers:
N/A

Problem

The BAML decompiler did not thoroughly analyze the if-else structures found in the implementations of the IStyleConnector.Connect and IComponentConnector.Connect methods. The analysis of the IStyleConnector.Connect method was also partially broken due to the hardcoded check for the _contentLoaded field store only present in IComponentConnector.Connect implementations.
Furthermore, the handling of EventSetter elements did not account for cases where more than one EventSetter was present per connection ID.

Solution

Resolve the above issues by reimplementing the algorithms for analyzing if-else structures and adjusting the handling of EventSetter elements to allow more than one per connection ID.

@ElektroKill ElektroKill added the decompiler Relating to the C#, VB.NET, and IL decompiler label May 8, 2023
@ElektroKill ElektroKill added this to the vNext milestone May 8, 2023
@ElektroKill ElektroKill merged commit 0dfde1a into master May 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

decompiler Relating to the C#, VB.NET, and IL decompiler

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant