protected internal override void CloneData(IScannableEntryItem target) { LiteralReferenceProductionRuleItem <TValue, TLiteral> tTarget = target as LiteralReferenceProductionRuleItem <TValue, TLiteral>; if (tTarget != null) { tTarget.counter = this.counter; tTarget.isFlag = this.isFlag; } base.CloneData(target); }
protected internal override void CloneData(IScannableEntryItem target) { base.CloneData(target); var myTarget = target as LiteralTokenItem <T>; if (myTarget != null) { myTarget.IsFlag = isFlag; myTarget.IsFlagToken = this.IsFlagToken; } }
/// <summary> /// Copies the data-members of the current <see cref="ScannableEntryItem"/> to the <paramref name="target"/>. /// </summary> /// <param name="target">The <see cref="IScannableEntryItem"/> which needs /// the data copied.</param> /// <remarks>Supplement to <see cref="OnClone()"/>.</remarks> internal void CloneData(IScannableEntryItem target) { if (target.RepeatOptions == ScannableEntryItemRepeatInfo.None && target.RepeatOptions != this.RepeatOptions) { target.RepeatOptions = this.repeatOptions; } if (!string.IsNullOrEmpty(this.name)) { if (target.Name != this.Name) { target.Name = name; } } }
/// <summary> /// Copies the data-members of the current <see cref="ScannableEntryItem"/> to the <paramref name="target"/>. /// </summary> /// <param name="target">The <see cref="IScannableEntryItem"/> which needs /// the data copied.</param> /// <remarks>Supplement to <see cref="OnClone()"/>.</remarks> protected internal virtual void CloneData(IScannableEntryItem target) { if (target.RepeatOptions == ScannableEntryItemRepeatInfo.None && target.RepeatOptions != this.RepeatOptions) { target.RepeatOptions = this.repeatOptions; } if (this is TokenItem) { ((TokenItem)(target)).SiblingAmbiguity = ((TokenItem)(this)).SiblingAmbiguity; } if (!string.IsNullOrEmpty(this.name)) { if (target.Name != this.Name) { target.Name = name; } } }