|
|
|
@ -93,9 +93,10 @@ namespace ICSharpCode.Decompiler.CSharp
@@ -93,9 +93,10 @@ namespace ICSharpCode.Decompiler.CSharp
|
|
|
|
|
return astType; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public ExpressionWithResolveResult ConvertConstantValue(ResolveResult rr) |
|
|
|
|
public ExpressionWithResolveResult ConvertConstantValue(ResolveResult rr, bool allowImplicitConversion = false) |
|
|
|
|
{ |
|
|
|
|
var expr = astBuilder.ConvertConstantValue(rr); |
|
|
|
|
if (!allowImplicitConversion) { |
|
|
|
|
if (expr is NullReferenceExpression && rr.Type.Kind != TypeKind.Null) { |
|
|
|
|
expr = new CastExpression(ConvertType(rr.Type), expr); |
|
|
|
|
} else { |
|
|
|
@ -108,6 +109,7 @@ namespace ICSharpCode.Decompiler.CSharp
@@ -108,6 +109,7 @@ namespace ICSharpCode.Decompiler.CSharp
|
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
var exprRR = expr.Annotation<ResolveResult>(); |
|
|
|
|
if (exprRR == null) { |
|
|
|
|
exprRR = rr; |
|
|
|
|