From 167ca01ba615f80c1ff28f2013fd42d22fba6ffc Mon Sep 17 00:00:00 2001 From: Yoshi Askharoun Date: Sun, 18 Feb 2024 22:24:38 -0600 Subject: [PATCH] Add special logic for disassembling ILayout --- libs/MicrosoftIris | 2 +- libs/UIX.Asm/Disassembler.cs | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libs/MicrosoftIris b/libs/MicrosoftIris index 3bd3531..2e5eaed 160000 --- a/libs/MicrosoftIris +++ b/libs/MicrosoftIris @@ -1 +1 @@ -Subproject commit 3bd3531f445e3e8bc9bee09190809cbfa57e52e8 +Subproject commit 2e5eaedcdcd38fa67d27e00a62c4a70db30d2172 diff --git a/libs/UIX.Asm/Disassembler.cs b/libs/UIX.Asm/Disassembler.cs index fcb5c49..5710c92 100644 --- a/libs/UIX.Asm/Disassembler.cs +++ b/libs/UIX.Asm/Disassembler.cs @@ -225,6 +225,11 @@ public class Disassembler var encodedValue = constantValue.ToString(); yield return new EncodedConstantDirective(constantName, qualifiedTypeName, encodedValue); } + else if (constantValue is Layout.ILayout constantLayout && Layout.PredefinedLayouts.TryConvertToString(constantLayout, out var constantLayoutString)) + { + qualifiedTypeName = GetQualifiedName(typeSchema.Base); + yield return new EncodedConstantDirective(constantName, qualifiedTypeName, constantLayoutString); + } else { XName constElemName = qualifiedTypeName.NamespacePrefix is null