Expr
namespace Microsoft.CSharp.RuntimeBinder.Semantics
{
internal abstract class Expr
{
internal object RuntimeObject { get; set; }
internal CType RuntimeObjectActualType { get; set; }
public ExpressionKind Kind { get; }
public EXPRFLAG Flags { get; set; }
public bool IsOptionalArgument { get; set; }
public string ErrorString { get; set; }
public virtual CType Type => null;
public bool IsOK => !HasError;
public bool HasError { get; set; }
protected Expr(ExpressionKind kind)
{
Kind = kind;
}
public virtual void SetMismatchedStaticBit()
{
HasError = true;
}
public void SetError()
{
HasError = true;
}
}
}