Browse Source

always convert ldlen to UIntPtr instead of IntPtr, because it is unsigned as per spec

pull/728/head
Siegfried Pammer 10 years ago
parent
commit
9129c65f79
  1. 2
      ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs

2
ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs

@ -774,7 +774,7 @@ namespace ICSharpCode.Decompiler.CSharp
var lenExpr = arrayExpr.Expression.Member("LongLength") var lenExpr = arrayExpr.Expression.Member("LongLength")
.WithILInstruction(inst) .WithILInstruction(inst)
.WithRR(new ResolveResult(compilation.FindType(KnownTypeCode.Int64))); .WithRR(new ResolveResult(compilation.FindType(KnownTypeCode.Int64)));
return lenExpr.ConvertTo(compilation.FindType(KnownTypeCode.IntPtr), this); return lenExpr.ConvertTo(compilation.FindType(KnownTypeCode.UIntPtr), this);
} }
protected internal override TranslatedExpression VisitLdFlda(LdFlda inst) protected internal override TranslatedExpression VisitLdFlda(LdFlda inst)

Loading…
Cancel
Save