Mono.CSharp.Constant.Error_ValueCannotBeConverted C# (CSharp) Method

Error_ValueCannotBeConverted() public method

public Error_ValueCannotBeConverted ( ResolveContext ec, System.TypeSpec target, bool expl ) : void
ec ResolveContext
target System.TypeSpec
expl bool
return void
		public override void Error_ValueCannotBeConverted (ResolveContext ec, TypeSpec target, bool expl)
		{
			if (!expl && IsLiteral && 
				BuiltinTypeSpec.IsPrimitiveTypeOrDecimal (target) &&
				BuiltinTypeSpec.IsPrimitiveTypeOrDecimal (type)) {
				ec.Report.Error (31, loc, "Constant value `{0}' cannot be converted to a `{1}'",
					GetValueAsLiteral (), target.GetSignatureForError ());
			} else {
				base.Error_ValueCannotBeConverted (ec, target, expl);
			}
		}

Usage Example

Example #1
0
File: const.cs Project: mdae/MonoRT
        protected virtual Constant DoResolveValue(ResolveContext ec)
        {
            Constant value = initializer.ResolveAsConstant(ec, this);

            if (value == null)
            {
                return(null);
            }

            Constant c = value.ConvertImplicitly(MemberType);

            if (c == null)
            {
                if (TypeManager.IsReferenceType(MemberType))
                {
                    Error_ConstantCanBeInitializedWithNullOnly(MemberType, Location, GetSignatureForError(), Report);
                }
                else
                {
                    value.Error_ValueCannotBeConverted(ec, Location, MemberType, false);
                }
            }

            return(c);
        }