Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / XmlUtils / System / Xml / Xsl / QIL / SubstitutionList.cs / 1 / SubstitutionList.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System; using System.Collections; using System.Diagnostics; namespace System.Xml.Xsl.Qil { ////// Data structure for use in CloneAndReplace /// ///Isolates the many QilNode classes from changes in /// the underlying data structure. internal sealed class SubstitutionList { // private ArrayList s; public SubstitutionList() { this.s = new ArrayList(4); } ////// Add a substituion pair /// /// a node to be replaced /// its replacement public void AddSubstitutionPair(QilNode find, QilNode replace) { s.Add(find); s.Add(replace); } ////// Remove the last a substituion pair /// public void RemoveLastSubstitutionPair() { s.RemoveRange(s.Count - 2, 2); } ////// Remove the last N substitution pairs /// public void RemoveLastNSubstitutionPairs(int n) { Debug.Assert(n >= 0, "n must be nonnegative"); if (n > 0) { n *= 2; s.RemoveRange(s.Count - n, n); } } ////// Find the replacement for a node /// /// the node to replace ///null if no replacement is found public QilNode FindReplacement(QilNode n) { Debug.Assert(s.Count % 2 == 0); for (int i = s.Count-2; i >= 0; i-=2) if (s[i] == n) return (QilNode)s[i+1]; return null; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System; using System.Collections; using System.Diagnostics; namespace System.Xml.Xsl.Qil { ////// Data structure for use in CloneAndReplace /// ///Isolates the many QilNode classes from changes in /// the underlying data structure. internal sealed class SubstitutionList { // private ArrayList s; public SubstitutionList() { this.s = new ArrayList(4); } ////// Add a substituion pair /// /// a node to be replaced /// its replacement public void AddSubstitutionPair(QilNode find, QilNode replace) { s.Add(find); s.Add(replace); } ////// Remove the last a substituion pair /// public void RemoveLastSubstitutionPair() { s.RemoveRange(s.Count - 2, 2); } ////// Remove the last N substitution pairs /// public void RemoveLastNSubstitutionPairs(int n) { Debug.Assert(n >= 0, "n must be nonnegative"); if (n > 0) { n *= 2; s.RemoveRange(s.Count - n, n); } } ////// Find the replacement for a node /// /// the node to replace ///null if no replacement is found public QilNode FindReplacement(QilNode n) { Debug.Assert(s.Count % 2 == 0); for (int i = s.Count-2; i >= 0; i-=2) if (s[i] == n) return (QilNode)s[i+1]; return null; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PointCollectionValueSerializer.cs
- Unit.cs
- UIElement3D.cs
- BStrWrapper.cs
- JumpPath.cs
- RuleSetDialog.Designer.cs
- SourceFileInfo.cs
- MessageHeaderT.cs
- MetadataSerializer.cs
- TextTrailingCharacterEllipsis.cs
- WindowPatternIdentifiers.cs
- InputMethodStateTypeInfo.cs
- Visitor.cs
- RotateTransform3D.cs
- _NegoState.cs
- HandlerFactoryCache.cs
- TableCell.cs
- DataPager.cs
- TemplateXamlParser.cs
- PackUriHelper.cs
- ManagedWndProcTracker.cs
- ErrorStyle.cs
- HttpCookieCollection.cs
- BrowserCapabilitiesCompiler.cs
- WCFServiceClientProxyGenerator.cs
- CompiledELinqQueryState.cs
- DataGridViewLinkColumn.cs
- TextChange.cs
- SoapObjectInfo.cs
- ImageBrush.cs
- Html32TextWriter.cs
- ScrollEventArgs.cs
- ApplicationTrust.cs
- KnownBoxes.cs
- ComponentDispatcher.cs
- CachedTypeface.cs
- HtmlElementEventArgs.cs
- SecurityPermission.cs
- XmlSchemaSimpleType.cs
- SecurityCriticalDataForSet.cs
- HighContrastHelper.cs
- Substitution.cs
- FileDialog.cs
- DragCompletedEventArgs.cs
- DBParameter.cs
- TextBoxBaseDesigner.cs
- RuleSetReference.cs
- WindowVisualStateTracker.cs
- DbDeleteCommandTree.cs
- ChangeNode.cs
- RowToFieldTransformer.cs
- DotNetATv1WindowsLogEntrySerializer.cs
- XmlLanguage.cs
- ActiveXHelper.cs
- ClientSideQueueItem.cs
- XmlSchemaSimpleTypeUnion.cs
- SocketInformation.cs
- DBNull.cs
- SerialReceived.cs
- TypeReference.cs
- PassportPrincipal.cs
- EntitySqlQueryBuilder.cs
- ExceptQueryOperator.cs
- TemplateComponentConnector.cs
- JoinCqlBlock.cs
- DecimalFormatter.cs
- Point3DAnimationUsingKeyFrames.cs
- ItemPager.cs
- FormsAuthenticationTicket.cs
- CharacterBuffer.cs
- SecurityProtocolFactory.cs
- ArrayWithOffset.cs
- HotSpot.cs
- _ConnectStream.cs
- ColumnMapTranslator.cs
- TypeConverterValueSerializer.cs
- ValidatingReaderNodeData.cs
- TextTreeExtractElementUndoUnit.cs
- UnmanagedMemoryStream.cs
- ResXResourceReader.cs
- ActivityExecutionContext.cs
- TextServicesHost.cs
- ErrorTableItemStyle.cs
- DatatypeImplementation.cs
- HMAC.cs
- BulletedListDesigner.cs
- Baml2006ReaderFrame.cs
- mactripleDES.cs
- Style.cs
- BuildManagerHost.cs
- ExponentialEase.cs
- TraceUtility.cs
- DataRowChangeEvent.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- WebPartUserCapability.cs
- SqlProcedureAttribute.cs
- ActivationArguments.cs
- ConsoleCancelEventArgs.cs
- ObjectParameter.cs
- ProcessHostMapPath.cs