Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / TemplateBaseAction.cs / 1 / TemplateBaseAction.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.Collections; using System.Xml; using System.Xml.XPath; using System.Globalization; // RootAction and TemplateActions have a litle in common -- they are responsible for variable allocation // TemplateBaseAction -- implenemts this shared behavior internal abstract class TemplateBaseAction : ContainerAction { protected int variableCount; // space to allocate on frame for variables private int variableFreeSlot; // compile time counter responsiable for variable placement logic public int AllocateVariableSlot() { // Variable placement logic. Optimized int thisSlot = this.variableFreeSlot; this.variableFreeSlot ++; if(this.variableCount < this.variableFreeSlot) { this.variableCount = this.variableFreeSlot; } return thisSlot; } public void ReleaseVariableSlots(int n) { // This code does optimisation of variable placement. Comented out for this version // Reuse of the variable disable the check that variable was assigned before the actual use // this check has to be done in compile time n future. // this.variableFreeSlot -= n; } } } // 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.Collections; using System.Xml; using System.Xml.XPath; using System.Globalization; // RootAction and TemplateActions have a litle in common -- they are responsible for variable allocation // TemplateBaseAction -- implenemts this shared behavior internal abstract class TemplateBaseAction : ContainerAction { protected int variableCount; // space to allocate on frame for variables private int variableFreeSlot; // compile time counter responsiable for variable placement logic public int AllocateVariableSlot() { // Variable placement logic. Optimized int thisSlot = this.variableFreeSlot; this.variableFreeSlot ++; if(this.variableCount < this.variableFreeSlot) { this.variableCount = this.variableFreeSlot; } return thisSlot; } public void ReleaseVariableSlots(int n) { // This code does optimisation of variable placement. Comented out for this version // Reuse of the variable disable the check that variable was assigned before the actual use // this check has to be done in compile time n future. // this.variableFreeSlot -= n; } } } // 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
- MatrixConverter.cs
- ToolStripPanelSelectionGlyph.cs
- XmlDataSource.cs
- WeakReferenceKey.cs
- ConnectionStringSettings.cs
- Document.cs
- ListViewSelectEventArgs.cs
- SqlClientMetaDataCollectionNames.cs
- Geometry3D.cs
- WebSysDescriptionAttribute.cs
- RecordsAffectedEventArgs.cs
- ObjectIDGenerator.cs
- StatusBar.cs
- SystemFonts.cs
- InfoCardPolicy.cs
- FileDialogCustomPlacesCollection.cs
- WindowsListViewSubItem.cs
- KeyedCollection.cs
- FileDialogCustomPlace.cs
- RectKeyFrameCollection.cs
- ChineseLunisolarCalendar.cs
- ProfileBuildProvider.cs
- FreezableDefaultValueFactory.cs
- RuleEngine.cs
- SerializationInfo.cs
- CollectionDataContractAttribute.cs
- ETagAttribute.cs
- Property.cs
- ProfileManager.cs
- SafeNativeMethodsCLR.cs
- RegistryPermission.cs
- WindowsComboBox.cs
- CompilerParameters.cs
- CreateUserWizardDesigner.cs
- Debug.cs
- ServiceCredentialsSecurityTokenManager.cs
- AuthorizationRuleCollection.cs
- ADConnectionHelper.cs
- TrustDriver.cs
- MapPathBasedVirtualPathProvider.cs
- Variant.cs
- _RequestCacheProtocol.cs
- followingsibling.cs
- DbProviderServices.cs
- CodeObjectCreateExpression.cs
- WebColorConverter.cs
- LingerOption.cs
- DialogResultConverter.cs
- FixUp.cs
- _IPv6Address.cs
- LocalValueEnumerator.cs
- FileLoadException.cs
- GACMembershipCondition.cs
- NavigationEventArgs.cs
- FilterableAttribute.cs
- Event.cs
- LongValidator.cs
- AuthenticatingEventArgs.cs
- TableLayoutSettings.cs
- BlurBitmapEffect.cs
- IISUnsafeMethods.cs
- EdmRelationshipRoleAttribute.cs
- DataGridRelationshipRow.cs
- XmlSortKeyAccumulator.cs
- ParseNumbers.cs
- OleDbCommand.cs
- Html32TextWriter.cs
- UIPermission.cs
- InstanceOwner.cs
- XmlSchemaComplexType.cs
- DBDataPermissionAttribute.cs
- ThreadStateException.cs
- SizeAnimationClockResource.cs
- SecurityDescriptor.cs
- LabelExpression.cs
- ObjectViewQueryResultData.cs
- MatrixTransform3D.cs
- VectorKeyFrameCollection.cs
- XmlDocument.cs
- StartUpEventArgs.cs
- HttpListenerPrefixCollection.cs
- ScriptingScriptResourceHandlerSection.cs
- TimeSpanConverter.cs
- NavigationExpr.cs
- CrossContextChannel.cs
- SRGSCompiler.cs
- X500Name.cs
- ComponentDispatcherThread.cs
- SamlAction.cs
- ActionFrame.cs
- AsyncCompletedEventArgs.cs
- TreeViewTemplateSelector.cs
- QilVisitor.cs
- SinglePageViewer.cs
- GrammarBuilderPhrase.cs
- XLinq.cs
- EntityDataSourceChangedEventArgs.cs
- ProviderConnectionPointCollection.cs
- HMACSHA256.cs
- InkCanvasSelection.cs