Skip to content

Commit

Permalink
Return IIDOptimizer exit code (#960)
Browse files Browse the repository at this point in the history
* Exit code
  • Loading branch information
j0shuams authored Aug 18, 2021
1 parent 1ad1a54 commit dcec6e0
Showing 1 changed file with 21 additions and 7 deletions.
28 changes: 21 additions & 7 deletions src/Perf/IIDOptimizer/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class Program
arity: ArgumentArity.ZeroOrMore
);

static async Task Main(string[] args)
static int Main(string[] args)
{
var rootCommand = new RootCommand { };
// friendlier option names
Expand All @@ -53,7 +53,8 @@ static async Task Main(string[] args)
rootCommand.AddOption(_references);

rootCommand.Handler = CommandHandler.Create<string, string, IEnumerable<FileInfo>>(GuidPatch);
await rootCommand.InvokeAsync(args);
Task<int> retVal = rootCommand.InvokeAsync(args);
return retVal.Result;
}

private static ReaderParameters MakeReaderParams(ReferenceAssemblyResolver resolver)
Expand All @@ -72,7 +73,7 @@ private static ReaderParameters MakeReaderParams(ReferenceAssemblyResolver resol


// Set WinRT.Runtime.dll -- either we are patching it, or it is in the references
private static AssemblyDefinition ResolveWinRTRuntime(AssemblyDefinition targetAssemblyDefinition, ReferenceAssemblyResolver resolver)
private static AssemblyDefinition? ResolveWinRTRuntime(AssemblyDefinition targetAssemblyDefinition, ReferenceAssemblyResolver resolver)
{
AssemblyDefinition? winRTRuntimeAssembly = null;

Expand All @@ -81,14 +82,21 @@ private static AssemblyDefinition ResolveWinRTRuntime(AssemblyDefinition targetA
winRTRuntimeAssembly = targetAssemblyDefinition;
}
else
{
{
var winrtAssembly = targetAssemblyDefinition
.MainModule
.AssemblyReferences
.Where(refAssembly => refAssembly.Name == "WinRT.Runtime")
.First();

winRTRuntimeAssembly = resolver.Resolve(winrtAssembly);
.FirstOrDefault();

if (winrtAssembly == default(AssemblyNameReference))
{
winRTRuntimeAssembly = null;
}
else
{
winRTRuntimeAssembly = resolver.Resolve(winrtAssembly);
}
}

return winRTRuntimeAssembly;
Expand Down Expand Up @@ -133,6 +141,12 @@ private static int GuidPatch(string targetAssembly, string outputDirectory, IEnu
Console.WriteLine($"\tAssembly : {e.AssemblyReference.Name}");
return -1;
}
catch (Exception e)
{
Console.WriteLine("Failed with unexpected exception.");
Console.WriteLine($"{e}");
return -1;
}
}
}
}

0 comments on commit dcec6e0

Please sign in to comment.