|
|
|
@ -485,9 +485,12 @@ namespace ICSharpCode.Decompiler.Ast
@@ -485,9 +485,12 @@ namespace ICSharpCode.Decompiler.Ast
|
|
|
|
|
return arg1; |
|
|
|
|
else |
|
|
|
|
return arg1.CastTo(operandAsTypeRef); |
|
|
|
|
case ILCode.Isinst: return arg1.CastAs(operandAsTypeRef); |
|
|
|
|
case ILCode.Box: return arg1; |
|
|
|
|
case ILCode.Unbox: return InlineAssembly(byteCode, args); |
|
|
|
|
case ILCode.Isinst: |
|
|
|
|
return arg1.CastAs(operandAsTypeRef); |
|
|
|
|
case ILCode.Box: |
|
|
|
|
return arg1; |
|
|
|
|
case ILCode.Unbox: |
|
|
|
|
return MakeRef(arg1.CastTo(operandAsTypeRef)); |
|
|
|
|
#endregion
|
|
|
|
|
#region Indirect
|
|
|
|
|
case ILCode.Ldind_Ref: |
|
|
|
@ -539,11 +542,7 @@ namespace ICSharpCode.Decompiler.Ast
@@ -539,11 +542,7 @@ namespace ICSharpCode.Decompiler.Ast
|
|
|
|
|
case ILCode.Endfilter: return InlineAssembly(byteCode, args); |
|
|
|
|
case ILCode.Endfinally: return null; |
|
|
|
|
case ILCode.Initblk: return InlineAssembly(byteCode, args); |
|
|
|
|
case ILCode.Initobj: |
|
|
|
|
if (args[0] is DirectionExpression) |
|
|
|
|
return new AssignmentExpression(((DirectionExpression)args[0]).Expression.Detach(), MakeDefaultValue((TypeReference)operand)); |
|
|
|
|
else |
|
|
|
|
return InlineAssembly(byteCode, args); |
|
|
|
|
case ILCode.Initobj: return InlineAssembly(byteCode, args); |
|
|
|
|
case ILCode.DefaultValue: |
|
|
|
|
return MakeDefaultValue((TypeReference)operand); |
|
|
|
|
case ILCode.Jmp: return InlineAssembly(byteCode, args); |
|
|
|
|