public IPropertySignatureMember AddNew(TypedName nameAndType, bool hasGet, bool hasSet) { IPropertySignatureMember result = new PropertySignatureMember(nameAndType, this.TargetDeclaration); result.HasGet = hasGet; result.HasSet = hasSet; this._Add(result.GetUniqueIdentifier(), result); return(result); }
private static IMemberParentExpression GetRootReference(PropertySignatureMember <TParent> referencePoint) { if (referencePoint is PropertyMember) { var rReference = referencePoint as PropertyMember; if (rReference.IsStatic) { return(rReference.ParentTarget.GetTypeReference().GetTypeExpression()); } else { return(rReference.ParentTarget.GetThisExpression()); } } else { throw new NotSupportedException(); } }
public ReferenceExpression(IMemberParentExpression owner, PropertySignatureMember <TParent> referencePoint) : base(referencePoint.Name, owner) { this.referencePoint = referencePoint; }
public ReferenceExpression(PropertySignatureMember <TParent> referencePoint) : base(referencePoint.Name, GetRootReference(referencePoint)) { this.referencePoint = referencePoint; }