Browse Source

Fix adding the ILRanges on statements conditions.

pull/191/merge
Eusebiu Marcu 15 years ago
parent
commit
c2dca71a0a
  1. 13
      ICSharpCode.Decompiler/Ast/AstMethodBodyBuilder.cs

13
ICSharpCode.Decompiler/Ast/AstMethodBodyBuilder.cs

@ -172,11 +172,20 @@ namespace ICSharpCode.Decompiler.Ast
{ {
AstNode node = TransformByteCode(expr); AstNode node = TransformByteCode(expr);
Expression astExpr = node as Expression; Expression astExpr = node as Expression;
// get IL ranges - used in debugger
List<ILRange> ilRanges = expr.GetILRanges(); List<ILRange> ilRanges = expr.GetILRanges();
AstNode result;
if (astExpr != null) if (astExpr != null)
return Convert(astExpr, expr.InferredType, expr.ExpectedType).WithAnnotation(ilRanges); result = Convert(astExpr, expr.InferredType, expr.ExpectedType);
else else
return node.WithAnnotation(ilRanges); result = node;
if (result != null)
return result.WithAnnotation(ilRanges);
return result;
} }
AstNode TransformByteCode(ILExpression byteCode) AstNode TransformByteCode(ILExpression byteCode)

Loading…
Cancel
Save