diff --git a/source/Indy.IL2CPU.IL.X86/X86PInvokeMethodBodyOp.cs b/source/Indy.IL2CPU.IL.X86/X86PInvokeMethodBodyOp.cs index 80612b575..5be1090b9 100644 --- a/source/Indy.IL2CPU.IL.X86/X86PInvokeMethodBodyOp.cs +++ b/source/Indy.IL2CPU.IL.X86/X86PInvokeMethodBodyOp.cs @@ -40,14 +40,14 @@ namespace Indy.IL2CPU.IL.X86 { if (String.IsNullOrEmpty(xMethodName)) { xMethodName = TheMethod.Name; } - if (TheMethod.PInvokeInfo.IsCharSetNotSpec) { + //if (TheMethod.PInvokeInfo.IsCharSetNotSpec) { foreach (ParameterDefinition xParam in TheMethod.Parameters) { if (xParam.ParameterType.FullName=="System.String") { xMethodName += "A"; break; } } - } + //} if (String.IsNullOrEmpty(xDllName)) { throw new Exception("Unable to determine what dll to use!"); } diff --git a/source/Indy.IL2CPU/Engine.cs b/source/Indy.IL2CPU/Engine.cs index d76ebae1a..8e2757005 100644 --- a/source/Indy.IL2CPU/Engine.cs +++ b/source/Indy.IL2CPU/Engine.cs @@ -171,12 +171,12 @@ namespace Indy.IL2CPU { TypeDefinition xType = mTypes[i]; List xEmittedMethods = new List(); foreach (MethodDefinition xMethod in xType.Methods) { - if (mMethods.ContainsKey(xMethod) && mMethods[xMethod]) { + if (mMethods.ContainsKey(xMethod) && mMethods[xMethod] && !xMethod.IsAbstract) { xEmittedMethods.Add(xMethod); } } foreach (MethodDefinition xCtor in xType.Constructors) { - if (mMethods.ContainsKey(xCtor) && mMethods[xCtor]) { + if (mMethods.ContainsKey(xCtor) && mMethods[xCtor] && !xCtor.IsAbstract) { xEmittedMethods.Add(xCtor); } }