private InterfaceProperty(InterfaceProperty ipToCopyFrom) : base(null) { ipToCopyFrom.CloneInto(this); if (ipToCopyFrom.DataType != null) { DataType = ipToCopyFrom.DataType.Clone(); } HasNewKeyword = ipToCopyFrom.HasNewKeyword; }
private bool IsTheSame(InterfaceProperty comparisonProperty, ComparisonDepth depth) { if (comparisonProperty == null) { return(false); } if (Name == comparisonProperty.Name) { // TODO: Parent Object Comparison // if (ParentObject.IsTheSame(comparisonProperty.ParentObject)) { if (depth == ComparisonDepth.Signature) { return(true); } if (!base.IsTheSame(comparisonProperty, depth)) { return(false); } if (DataType != comparisonProperty.DataType) { return(false); } if (depth == ComparisonDepth.Outer) { return(true); } if (!GetAccessor.IsTheSame(comparisonProperty.GetAccessor)) { ComparisonDifference += GetType().Name + ".GetAccessor"; return(false); } if (!SetAccessor.IsTheSame(comparisonProperty.SetAccessor)) { ComparisonDifference += GetType().Name + ".SetAccessor"; return(false); } return(true); } } return(false); }
protected override bool CustomMergeStepInternal(BaseConstruct user, BaseConstruct newgen, BaseConstruct prevgen) { InterfaceProperty userBC = (InterfaceProperty)user, newgenBC = (InterfaceProperty)newgen, prevgenBC = (InterfaceProperty)prevgen; // Return Type if (!Utility.MergeDataType(ref DataType, userBC.DataType, newgenBC.DataType, prevgenBC.DataType)) { return(false); } // HasNewKeyword if (!Utility.MergeSingleItem(ref HasNewKeyword, userBC.HasNewKeyword, newgenBC.HasNewKeyword, prevgenBC.HasNewKeyword)) { return(false); } return(true); }
private bool IsTheSame(InterfaceProperty comparisonProperty) { return(IsTheSame(comparisonProperty, ComparisonDepth.Signature)); }