Browse Source

Fix member access on value types

pull/728/head
Daniel Grunwald 10 years ago
parent
commit
cf979911b7
  1. 6
      ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs
  2. 2
      NRefactory

6
ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs

@ -480,7 +480,11 @@ namespace ICSharpCode.Decompiler.CSharp @@ -480,7 +480,11 @@ namespace ICSharpCode.Decompiler.CSharp
.WithILInstruction(target)
.WithRR(new ThisResolveResult(member.DeclaringType, nonVirtualInvocation));
} else {
return Translate(target).ConvertTo(member.DeclaringType, this);
var translatedTarget = Translate(target);
if (member.DeclaringType.IsReferenceType == false && translatedTarget.Expression is DirectionExpression) {
translatedTarget = translatedTarget.UnwrapChild(((DirectionExpression)translatedTarget).Expression);
}
return translatedTarget.ConvertTo(member.DeclaringType, this);
}
} else {
return new TypeReferenceExpression(ConvertType(member.DeclaringType))

2
NRefactory

@ -1 +1 @@ @@ -1 +1 @@
Subproject commit 6e6d7778883fb135a0b6945cc4696c176b9c5e3a
Subproject commit 4fec0c394618f56d523994df4c01bfca4e096dc9
Loading…
Cancel
Save