mirror of
https://github.com/ZuneDev/ZuneUIXTools.git
synced 2026-07-27 13:11:59 -07:00
Allow generic load result
This commit is contained in:
@@ -65,7 +65,7 @@ public class DecompileCommand : CompilerCommandBase<DecompileCommand.Settings>
|
||||
if (uibLoadResult.Status != LoadResultStatus.Success)
|
||||
throw new Exception($"Failed to load UIB source ({uibLoadResult.ErrorContextUri})");
|
||||
|
||||
var disassembler = Disassembler.Load(uibLoadResult as MarkupLoadResult);
|
||||
var disassembler = Disassembler.Load(uibLoadResult);
|
||||
var asm = disassembler.Write();
|
||||
|
||||
File.WriteAllText(GetOutputPath(settings, input), asm);
|
||||
|
||||
@@ -5,7 +5,6 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace Microsoft.Iris.Asm;
|
||||
|
||||
@@ -26,7 +25,13 @@ public class Disassembler
|
||||
};
|
||||
}
|
||||
|
||||
public static Disassembler Load(MarkupLoadResult loadResult) => new(loadResult);
|
||||
public static Disassembler Load(LoadResult loadResult)
|
||||
{
|
||||
if (loadResult is not MarkupLoadResult markupLoadResult)
|
||||
throw new ArgumentException($"Disassembly can only be performed on markup. Expected '{nameof(MarkupLoadResult)}', got '{loadResult?.GetType().Name}'.");
|
||||
|
||||
return new(markupLoadResult);
|
||||
}
|
||||
|
||||
public IEnumerable<Directive> GetExports()
|
||||
{
|
||||
|
||||
@@ -97,7 +97,7 @@ Alt_locl:
|
||||
|
||||
// Disassemble the compiled UIX
|
||||
var sourceLoadResult = MarkupSystem.ResolveLoadResult($"file://{uibFile.Path}", MarkupSystem.RootIslandId);
|
||||
var disassembly = Disassembler.Load(sourceLoadResult as MarkupLoadResult);
|
||||
var disassembly = Disassembler.Load(sourceLoadResult);
|
||||
var disassemblyText = disassembly.Write();
|
||||
File.WriteAllText(uixaPath, disassemblyText);
|
||||
|
||||
@@ -164,7 +164,7 @@ Alt_locl:
|
||||
|
||||
// Disassemble the compiled UIX
|
||||
var sourceLoadResult = MarkupSystem.ResolveLoadResult($"file://{uixFile.Path}", MarkupSystem.RootIslandId);
|
||||
var disassembly = Disassembler.Load(sourceLoadResult as MarkupLoadResult);
|
||||
var disassembly = Disassembler.Load(sourceLoadResult);
|
||||
var disassemblyText = disassembly.Write();
|
||||
File.WriteAllText(uixaPath, disassemblyText);
|
||||
|
||||
@@ -217,7 +217,7 @@ Alt_locl:
|
||||
string uri = "file://" + tempFile.Path;
|
||||
|
||||
var sourceLoadResult = MarkupSystem.ResolveLoadResult(uri, MarkupSystem.RootIslandId);
|
||||
var dis = Disassembler.Load(sourceLoadResult as MarkupLoadResult);
|
||||
var dis = Disassembler.Load(sourceLoadResult);
|
||||
|
||||
var disText = dis.Write();
|
||||
_output.WriteLine(disText);
|
||||
|
||||
Reference in New Issue
Block a user