Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / CopyCodeAction.cs / 1305376 / CopyCodeAction.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml.Xsl.XsltOld { using Res = System.Xml.Utils.Res; using System; using System.Diagnostics; using System.Xml; using System.Xml.XPath; using System.Collections; internal class CopyCodeAction : Action { // Execution states: private const int Outputting = 2; private ArrayList copyEvents; // Copy code action events internal CopyCodeAction() { this.copyEvents = new ArrayList(); } internal void AddEvent(Event copyEvent) { this.copyEvents.Add(copyEvent); } internal void AddEvents(ArrayList copyEvents) { Debug.Assert(copyEvents != null); this.copyEvents.AddRange(copyEvents); } internal override void ReplaceNamespaceAlias(Compiler compiler) { int count = this.copyEvents.Count; for(int i = 0; i< count; i++) { ((Event) this.copyEvents[i]).ReplaceNamespaceAlias(compiler); } } internal override void Execute(Processor processor, ActionFrame frame) { Debug.Assert(processor != null && frame != null); Debug.Assert(this.copyEvents != null && this.copyEvents.Count > 0); switch (frame.State) { case Initialized: frame.Counter = 0; frame.State = Outputting; goto case Outputting; case Outputting: Debug.Assert(frame.State == Outputting); while (processor.CanContinue) { Debug.Assert(frame.Counter < this.copyEvents.Count); Event copyEvent = (Event) this.copyEvents[frame.Counter]; if (copyEvent.Output(processor, frame) == false) { // This event wasn't processed break; } if (frame.IncrementCounter() >= this.copyEvents.Count) { frame.Finished(); break; } } break; default: Debug.Fail("Invalid CopyCodeAction execution state"); break; } } internal override DbgData GetDbgData(ActionFrame frame) { Debug.Assert(frame.Counter < this.copyEvents.Count); return ((Event)this.copyEvents[frame.Counter]).DbgData; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml.Xsl.XsltOld { using Res = System.Xml.Utils.Res; using System; using System.Diagnostics; using System.Xml; using System.Xml.XPath; using System.Collections; internal class CopyCodeAction : Action { // Execution states: private const int Outputting = 2; private ArrayList copyEvents; // Copy code action events internal CopyCodeAction() { this.copyEvents = new ArrayList(); } internal void AddEvent(Event copyEvent) { this.copyEvents.Add(copyEvent); } internal void AddEvents(ArrayList copyEvents) { Debug.Assert(copyEvents != null); this.copyEvents.AddRange(copyEvents); } internal override void ReplaceNamespaceAlias(Compiler compiler) { int count = this.copyEvents.Count; for(int i = 0; i< count; i++) { ((Event) this.copyEvents[i]).ReplaceNamespaceAlias(compiler); } } internal override void Execute(Processor processor, ActionFrame frame) { Debug.Assert(processor != null && frame != null); Debug.Assert(this.copyEvents != null && this.copyEvents.Count > 0); switch (frame.State) { case Initialized: frame.Counter = 0; frame.State = Outputting; goto case Outputting; case Outputting: Debug.Assert(frame.State == Outputting); while (processor.CanContinue) { Debug.Assert(frame.Counter < this.copyEvents.Count); Event copyEvent = (Event) this.copyEvents[frame.Counter]; if (copyEvent.Output(processor, frame) == false) { // This event wasn't processed break; } if (frame.IncrementCounter() >= this.copyEvents.Count) { frame.Finished(); break; } } break; default: Debug.Fail("Invalid CopyCodeAction execution state"); break; } } internal override DbgData GetDbgData(ActionFrame frame) { Debug.Assert(frame.Counter < this.copyEvents.Count); return ((Event)this.copyEvents[frame.Counter]).DbgData; } } } // 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
- TemplateKey.cs
- CapabilitiesPattern.cs
- XmlLinkedNode.cs
- DataKeyCollection.cs
- GetPageCompletedEventArgs.cs
- DecoderNLS.cs
- DashStyle.cs
- SqlDataReaderSmi.cs
- ReturnEventArgs.cs
- MessageLoggingElement.cs
- PropertyGridCommands.cs
- NodeCounter.cs
- coordinatorscratchpad.cs
- UserControl.cs
- ProviderIncompatibleException.cs
- OperationAbortedException.cs
- Subtree.cs
- XmlLanguage.cs
- DataGridViewHeaderCell.cs
- Policy.cs
- ProfileManager.cs
- ButtonColumn.cs
- FixedStringLookup.cs
- ObjectPersistData.cs
- WebServiceErrorEvent.cs
- PatternMatcher.cs
- MetadataItem.cs
- Timeline.cs
- TextWriterTraceListener.cs
- FormsAuthentication.cs
- HMACSHA256.cs
- WmlLinkAdapter.cs
- Bidi.cs
- DataGridBoolColumn.cs
- TextTreeInsertUndoUnit.cs
- arclist.cs
- LambdaCompiler.Generated.cs
- KeyConverter.cs
- FontDialog.cs
- CatalogPartCollection.cs
- MemoryRecordBuffer.cs
- EventProviderWriter.cs
- TransactionManager.cs
- TreeNodeBinding.cs
- Misc.cs
- ContractListAdapter.cs
- ManagementException.cs
- TagPrefixCollection.cs
- SqlConnectionHelper.cs
- DSASignatureFormatter.cs
- CodeAttributeArgument.cs
- TrackingConditionCollection.cs
- DesignerSelectionListAdapter.cs
- HttpCachePolicyBase.cs
- JsonReaderWriterFactory.cs
- PackWebResponse.cs
- PackageProperties.cs
- DirectionalLight.cs
- InteropBitmapSource.cs
- ArcSegment.cs
- ArrangedElementCollection.cs
- UnsafeCollabNativeMethods.cs
- ADConnectionHelper.cs
- DecoderFallback.cs
- RoutedUICommand.cs
- CompressedStack.cs
- WebSysDisplayNameAttribute.cs
- SerialStream.cs
- TdsParser.cs
- EntityTypeEmitter.cs
- ListViewItem.cs
- FunctionQuery.cs
- WindowsScrollBar.cs
- PageContentAsyncResult.cs
- EncryptedPackage.cs
- ClientSideProviderDescription.cs
- InternalTransaction.cs
- XmlSiteMapProvider.cs
- ParallelEnumerable.cs
- dsa.cs
- SizeConverter.cs
- TextTreeObjectNode.cs
- ObjectReferenceStack.cs
- CompiledXpathExpr.cs
- BackgroundFormatInfo.cs
- BindingsCollection.cs
- HtmlTableCellCollection.cs
- WindowsRebar.cs
- EventLogWatcher.cs
- __TransparentProxy.cs
- InternalTypeHelper.cs
- DesignColumnCollection.cs
- UpdateManifestForBrowserApplication.cs
- VisualSerializer.cs
- SqlConnectionStringBuilder.cs
- RadioButton.cs
- Vector3D.cs
- Int32CAMarshaler.cs
- InputEventArgs.cs
- TaiwanCalendar.cs