Begin UIB disassebler

This commit is contained in:
Yoshi Askharoun
2024-01-30 23:30:42 -06:00
parent 26ab2444f2
commit c54fab21e7
3 changed files with 165 additions and 2 deletions
+22 -2
View File
@@ -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();
}
}