public void TestStackAnalysis(Type aType, string aMethodName, Type[] aArgs) { if (aArgs is null) { aArgs = Array.Empty <Type>(); } var method = aType.GetMethod(aMethodName, 0, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static, null, aArgs, null); var methodBase = new _MethodInfo(method, 1, _MethodInfo.TypeEnum.Normal, null); var appAssembler = new AppAssembler(null, new VoidTextWriter(), "") { DebugMode = Cosmos.Build.Common.DebugMode.None }; var ilReader = new ILReader(); var opCodes = ilReader.ProcessMethod(method); var mSequence = appAssembler.GenerateDebugSequencePoints(methodBase, Cosmos.Build.Common.DebugMode.None); var iMethod = new ILMethod(opCodes, mSequence); Assert.DoesNotThrow(() => iMethod.Analyse()); }