diff --git a/source/Cosmos.HAL/Cosmos.HAL.csproj b/source/Cosmos.HAL/Cosmos.HAL.csproj index 7b6317243..b4350830d 100644 --- a/source/Cosmos.HAL/Cosmos.HAL.csproj +++ b/source/Cosmos.HAL/Cosmos.HAL.csproj @@ -116,6 +116,7 @@ + diff --git a/source/Cosmos.IL2CPU/ILOpCodes/OpType.cs b/source/Cosmos.IL2CPU/ILOpCodes/OpType.cs index 1f32963db..f1dbe0700 100644 --- a/source/Cosmos.IL2CPU/ILOpCodes/OpType.cs +++ b/source/Cosmos.IL2CPU/ILOpCodes/OpType.cs @@ -41,9 +41,11 @@ namespace Cosmos.IL2CPU.ILOpCodes { case Code.Constrained: return 0; case Code.Unbox_Any: - return 1; + return 1; case Code.Unbox: - return 1; + return 1; + case Code.Stobj: + return 2; default: throw new NotImplementedException("OpCode '" + OpCode + "' not implemented! Encountered in method " + aMethod.ToString()); } @@ -75,6 +77,8 @@ namespace Cosmos.IL2CPU.ILOpCodes { return 1; case Code.Unbox: return 1; + case Code.Stobj: + return 0; default: throw new NotImplementedException("OpCode '" + OpCode + "' not implemented!"); } diff --git a/source/Cosmos.IL2CPU/ILScanner.cs b/source/Cosmos.IL2CPU/ILScanner.cs index 6f116c617..b7d3b229b 100644 --- a/source/Cosmos.IL2CPU/ILScanner.cs +++ b/source/Cosmos.IL2CPU/ILScanner.cs @@ -131,6 +131,12 @@ namespace Cosmos.IL2CPU mItems.Add(aItem); mItemsList.Add(aItem); + MethodBase methodBaseSource = aSrc as MethodBase; + if (methodBaseSource != null) + { + aSrc = methodBaseSource.DeclaringType.ToString() + "::" + aSrc.ToString(); + } + mQueue.Enqueue(new ScannerQueueItem() { Item = aItem, QueueReason = aSrcType, SourceItem = aSrc + Environment.NewLine + sourceItem }); } }