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
- URI.cs
- HostProtectionException.cs
- DecimalConverter.cs
- ListDesigner.cs
- MetadataArtifactLoaderResource.cs
- DefaultValidator.cs
- CacheVirtualItemsEvent.cs
- XmlNamespaceManager.cs
- HttpDebugHandler.cs
- RSAOAEPKeyExchangeDeformatter.cs
- QilPatternVisitor.cs
- ReplyChannelAcceptor.cs
- HtmlTextArea.cs
- JavaScriptSerializer.cs
- NonSerializedAttribute.cs
- TextEditorTyping.cs
- QilGeneratorEnv.cs
- DataSysAttribute.cs
- Point4D.cs
- WasEndpointConfigContainer.cs
- UTF7Encoding.cs
- TraceUtils.cs
- CryptoHelper.cs
- ToolStripItemBehavior.cs
- MarkerProperties.cs
- EditBehavior.cs
- smtppermission.cs
- CustomAttributeBuilder.cs
- DbUpdateCommandTree.cs
- ToolStripDropDownClosingEventArgs.cs
- WebAdminConfigurationHelper.cs
- StoragePropertyMapping.cs
- SqlParameter.cs
- WorkflowTimerService.cs
- CriticalHandle.cs
- TreeNodeSelectionProcessor.cs
- AnnotationResourceCollection.cs
- FlowNode.cs
- QueryCacheEntry.cs
- Floater.cs
- Currency.cs
- TargetException.cs
- OperationInvokerBehavior.cs
- TextProviderWrapper.cs
- TdsEnums.cs
- PassportAuthenticationModule.cs
- ServiceNameElementCollection.cs
- RotateTransform.cs
- MessageVersionConverter.cs
- NotifyInputEventArgs.cs
- PnrpPeerResolver.cs
- OperationBehaviorAttribute.cs
- CellIdBoolean.cs
- RequestResizeEvent.cs
- TdsValueSetter.cs
- Claim.cs
- RawStylusInputCustomDataList.cs
- KnownBoxes.cs
- XmlNodeList.cs
- processwaithandle.cs
- RequestQueue.cs
- TraceSection.cs
- FlowLayoutSettings.cs
- MessagePartSpecification.cs
- GatewayIPAddressInformationCollection.cs
- DataRecord.cs
- ButtonColumn.cs
- ScriptingWebServicesSectionGroup.cs
- OneToOneMappingSerializer.cs
- ApplicationServiceHelper.cs
- XmlDataImplementation.cs
- TextTreeTextBlock.cs
- WinFormsSecurity.cs
- AuthenticationModulesSection.cs
- NativeMethods.cs
- FolderBrowserDialog.cs
- WorkflowRuntimeServiceElementCollection.cs
- SymbolEqualComparer.cs
- ServiceInfoCollection.cs
- SelectedDatesCollection.cs
- ConfigXmlText.cs
- VisualBrush.cs
- GridViewItemAutomationPeer.cs
- SplitterPanel.cs
- ToolStripAdornerWindowService.cs
- HttpPostClientProtocol.cs
- TemplateEditingFrame.cs
- ResponseStream.cs
- WebPermission.cs
- ReadOnlyPropertyMetadata.cs
- AssociationTypeEmitter.cs
- WebConfigurationFileMap.cs
- TrackPoint.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- WsdlInspector.cs
- StylusButton.cs
- AnnotationMap.cs
- SqlDataSourceSelectingEventArgs.cs
- HttpResponseHeader.cs
- DesignUtil.cs