ExprProperty
namespace Microsoft.CSharp.RuntimeBinder.Semantics
{
internal sealed class ExprProperty : ExprWithArgs
{
public Expr OptionalObjectThrough { get; }
public PropWithType PropWithTypeSlot { get; }
public MethWithType MethWithTypeSet { get; }
public ExprProperty(CType type, Expr pOptionalObjectThrough, Expr pOptionalArguments, ExprMemberGroup pMemberGroup, PropWithType pwtSlot, MethWithType mwtSet)
: base(ExpressionKind.Property, type)
{
OptionalObjectThrough = pOptionalObjectThrough;
base.OptionalArguments = pOptionalArguments;
base.MemberGroup = pMemberGroup;
if ((SymWithType)pwtSlot != (SymWithType)null)
PropWithTypeSlot = pwtSlot;
if ((SymWithType)mwtSet != (SymWithType)null) {
MethWithTypeSet = mwtSet;
base.Flags = EXPRFLAG.EXF_LVALUE;
}
}
public override SymWithType GetSymWithType()
{
return PropWithTypeSlot;
}
}
}