mirror of
https://github.com/ZuneDev/ZuneUIXTools.git
synced 2026-07-27 13:11:59 -07:00
Begin UIB disassebler
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using Sprache;
|
||||
using Microsoft.Iris.Asm;
|
||||
using Xunit.Abstractions;
|
||||
using Microsoft.Iris.Markup;
|
||||
|
||||
namespace UIX.Test;
|
||||
|
||||
@@ -11,8 +12,8 @@ public class Assembly(ITestOutputHelper output)
|
||||
{
|
||||
const string code =
|
||||
"""
|
||||
.import Me as me
|
||||
.import assembly://UIX/Microsoft.Iris as iris
|
||||
.import-ns Me as me
|
||||
.import-ns assembly://UIX/Microsoft.Iris as iris
|
||||
|
||||
main:
|
||||
COBJ 2
|
||||
@@ -32,4 +33,23 @@ main:
|
||||
Assert.Equal(2, ast.Imports.Count());
|
||||
Assert.Equal(9, ast.Body.Count());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Disassemble()
|
||||
{
|
||||
const string path = @"D:\Repos\yoshiask\ZuneUIXTools\test\testA.uix";
|
||||
string uri = @"file://" + path;
|
||||
|
||||
//FileResource resource = new(uri, path, true);
|
||||
//resource.Acquire();
|
||||
|
||||
MarkupSystem.Startup(true);
|
||||
var sourceLoadResult = MarkupSystem.ResolveLoadResult(uri, MarkupSystem.RootIslandId);
|
||||
var dis = Disassembler.Load(sourceLoadResult as MarkupLoadResult);
|
||||
|
||||
var newPath = Path.ChangeExtension(path, ".uixa");
|
||||
File.WriteAllText(newPath, dis.Write());
|
||||
|
||||
MarkupSystem.Shutdown();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user