+ //
+ // The 0 literal can be converted to an enum value
+ //
+ if (Value == 0 && TypeManager.IsEnumType (type)) {
+ Constant c = ConvertImplicitly (rc, EnumSpec.GetUnderlyingType (type));
+ if (c == null)
+ return null;
+
+ return new EnumConstant (c, type).Resolve (rc);
+ }
+
+ return base.ConvertImplicitly (rc, type);
+ }
+
+ public override bool IsLiteral {
+ get { return true; }