Browse Source

WIP

pull/2113/head
Siegfried Pammer 5 years ago
parent
commit
3bc0bf3270
  1. 2
      ICSharpCode.Decompiler/CSharp/Resolver/Log.cs
  2. 4
      ICSharpCode.Decompiler/CSharp/Resolver/OverloadResolution.cs

2
ICSharpCode.Decompiler/CSharp/Resolver/Log.cs

@ -29,7 +29,7 @@ namespace ICSharpCode.Decompiler.CSharp.Resolver @@ -29,7 +29,7 @@ namespace ICSharpCode.Decompiler.CSharp.Resolver
/// </summary>
static class Log
{
const bool logEnabled = false;
const bool logEnabled = true;
#if __MonoCS__
[Conditional("MCS_DEBUG")]
#else

4
ICSharpCode.Decompiler/CSharp/Resolver/OverloadResolution.cs

@ -423,8 +423,10 @@ namespace ICSharpCode.Decompiler.CSharp.Resolver @@ -423,8 +423,10 @@ namespace ICSharpCode.Decompiler.CSharp.Resolver
}
} else {
TypeInference ti = new TypeInference(compilation, conversions);
IType[] parameterTypes = candidate.ArgumentToParameterMap
.SelectReadOnlyArray(parameterIndex => parameterIndex >= 0 ? candidate.ParameterTypes[parameterIndex] : SpecialType.UnknownType);
bool success;
candidate.InferredTypes = ti.InferTypeArguments(candidate.TypeParameters, arguments, candidate.ArgumentToParameterMap.SelectReadOnlyArray(parameterIndex => candidate.ParameterTypes[parameterIndex]), out success, classTypeArguments);
candidate.InferredTypes = ti.InferTypeArguments(candidate.TypeParameters, arguments, parameterTypes, out success, classTypeArguments);
if (!success)
candidate.AddError(OverloadResolutionErrors.TypeInferenceFailed);
}

Loading…
Cancel
Save