Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Markup / BamlRecordHelper.cs / 1 / BamlRecordHelper.cs
/****************************************************************************\ * * File: BamlRecordHelper.cs * * Copyright (C) 2006 by Microsoft Corporation. All rights reserved. * \***************************************************************************/ using System; using System.Diagnostics; #if PBTCOMPILER namespace MS.Internal.Markup #else using System.Windows; namespace System.Windows.Markup #endif { // Helper functions for baml records static internal class BamlRecordHelper { #if !PBTCOMPILER // // This method checks to see if the baml record type is one of the records used // to build up the map table, e.g. type information. // static internal bool IsMapTableRecordType( BamlRecordType bamlRecordType ) { switch( bamlRecordType ) { case BamlRecordType.PIMapping: case BamlRecordType.AssemblyInfo: case BamlRecordType.TypeInfo: case BamlRecordType.TypeSerializerInfo: case BamlRecordType.AttributeInfo: case BamlRecordType.StringInfo: return true; default: return false; } } internal static bool IsDebugBamlRecordType(BamlRecordType recordType) { if ( recordType == BamlRecordType.LineNumberAndPosition || recordType == BamlRecordType.LinePosition ) { return true; } return false; } // Does the given Baml Record have a Debug Baml Record in its Next link. internal static bool HasDebugExtensionRecord(bool isDebugBamlStream, BamlRecord bamlRecord) { if (isDebugBamlStream && (bamlRecord.Next != null)) { if (IsDebugBamlRecordType(bamlRecord.Next.RecordType)) { return true; } } return false; } #endif internal static bool DoesRecordTypeHaveDebugExtension(BamlRecordType recordType) { switch(recordType) { case BamlRecordType.ElementStart: case BamlRecordType.ElementEnd: case BamlRecordType.Property: case BamlRecordType.PropertyComplexStart: case BamlRecordType.PropertyArrayStart: case BamlRecordType.PropertyIListStart: case BamlRecordType.PropertyIDictionaryStart: case BamlRecordType.XmlnsProperty: case BamlRecordType.PIMapping: case BamlRecordType.PropertyTypeReference: case BamlRecordType.PropertyWithExtension: case BamlRecordType.PropertyWithConverter: case BamlRecordType.KeyElementStart: case BamlRecordType.ConnectionId: case BamlRecordType.ContentProperty: case BamlRecordType.StaticResourceStart: case BamlRecordType.PresentationOptionsAttribute: return true; case BamlRecordType.DocumentStart: case BamlRecordType.DocumentEnd: // End record case BamlRecordType.PropertyCustom: // The "custom" size of this is a problem case BamlRecordType.PropertyComplexEnd: // End record case BamlRecordType.PropertyArrayEnd: // End record case BamlRecordType.PropertyIListEnd: // End record case BamlRecordType.PropertyIDictionaryEnd: // End record case BamlRecordType.LiteralContent: // Not needed case BamlRecordType.Text: // Not needed case BamlRecordType.TextWithConverter: // Not common enough case BamlRecordType.RoutedEvent: // Not common enough case BamlRecordType.ClrEvent: // Not common enough case BamlRecordType.XmlAttribute: // Not common enough case BamlRecordType.ProcessingInstruction: // Not common enough case BamlRecordType.Comment: // Not common enough case BamlRecordType.DefTag: // Not common enough case BamlRecordType.DefAttribute: // Not common enough case BamlRecordType.EndAttributes: // Not common enough case BamlRecordType.AssemblyInfo: // Info records (in general) don't advance file position case BamlRecordType.TypeInfo: // Info records (in general) don't advance file position. case BamlRecordType.TypeSerializerInfo: // Not common enough case BamlRecordType.AttributeInfo: // Info records (in general) don't advance file position case BamlRecordType.StringInfo: // Info records (in general) don't advance file position case BamlRecordType.PropertyStringReference: // Not common enough case BamlRecordType.DeferableContentStart: // This would complicate Deferable Content Size case BamlRecordType.ConstructorParametersStart: // Not Needed case BamlRecordType.ConstructorParametersEnd: // End record case BamlRecordType.ConstructorParameterType: // Not Needed case BamlRecordType.NamedElementStart: // Not common enough case BamlRecordType.TextWithId: // Not Needed case BamlRecordType.LineNumberAndPosition: // This would become recursive. case BamlRecordType.LinePosition: // This would become recursive. case BamlRecordType.DefAttributeKeyString: case BamlRecordType.DefAttributeKeyType: case BamlRecordType.KeyElementEnd: case BamlRecordType.StaticResourceEnd: case BamlRecordType.StaticResourceId: case BamlRecordType.OptimizedStaticResource: case BamlRecordType.PropertyWithStaticResourceId: return false; default: Debug.Assert(false, "Unhandled case in DoesRecordTypeHaveDebugExtension"); return false; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BoundingRectTracker.cs
- Calendar.cs
- TemplateParser.cs
- TextModifier.cs
- PathFigureCollection.cs
- CopyOfAction.cs
- PropertyPanel.cs
- _NegoState.cs
- DataBoundControl.cs
- ITreeGenerator.cs
- ASCIIEncoding.cs
- SelfSignedCertificate.cs
- HtmlAnchor.cs
- TextEditorCharacters.cs
- MemberInfoSerializationHolder.cs
- NamespaceMapping.cs
- ClusterRegistryConfigurationProvider.cs
- HtmlContainerControl.cs
- ListBindingHelper.cs
- SchemaImporter.cs
- XmlChoiceIdentifierAttribute.cs
- ControllableStoryboardAction.cs
- XPathNodeHelper.cs
- Action.cs
- ToolStripComboBox.cs
- StateRuntime.cs
- TreeSet.cs
- IndicShape.cs
- TableRow.cs
- ResourceDescriptionAttribute.cs
- DeferredReference.cs
- Merger.cs
- InputBuffer.cs
- WebScriptClientGenerator.cs
- SectionXmlInfo.cs
- _ProxyChain.cs
- ExpandCollapsePattern.cs
- Run.cs
- BaseTemplateCodeDomTreeGenerator.cs
- x509store.cs
- SQLByteStorage.cs
- MexNamedPipeBindingElement.cs
- PreProcessInputEventArgs.cs
- BindingsCollection.cs
- PipelineModuleStepContainer.cs
- SurrogateDataContract.cs
- GZipObjectSerializer.cs
- PropertyItem.cs
- GridViewRowPresenterBase.cs
- QueryContinueDragEventArgs.cs
- EntityDataSourceConfigureObjectContext.cs
- SoapAttributeAttribute.cs
- LayoutManager.cs
- ForEachAction.cs
- Soap12ProtocolReflector.cs
- Wizard.cs
- SequentialUshortCollection.cs
- XmlEntityReference.cs
- WmlListAdapter.cs
- WorkItem.cs
- RootBrowserWindowAutomationPeer.cs
- MissingSatelliteAssemblyException.cs
- MetadataItemCollectionFactory.cs
- PageCodeDomTreeGenerator.cs
- GeneralTransform3DTo2D.cs
- GlyphRun.cs
- RequestCachePolicy.cs
- ApplicationFileParser.cs
- PersistenceException.cs
- XmlException.cs
- PrivilegeNotHeldException.cs
- XmlBindingWorker.cs
- iisPickupDirectory.cs
- MaxSessionCountExceededException.cs
- CookieHandler.cs
- TracedNativeMethods.cs
- AsyncOperationManager.cs
- SelectionChangedEventArgs.cs
- ArrayListCollectionBase.cs
- GcSettings.cs
- PKCS1MaskGenerationMethod.cs
- StyleTypedPropertyAttribute.cs
- SafeRightsManagementHandle.cs
- AddressAlreadyInUseException.cs
- XmlBinaryReader.cs
- CorrelationExtension.cs
- Calendar.cs
- CryptoProvider.cs
- CommentEmitter.cs
- TableLayoutStyleCollection.cs
- ScrollPatternIdentifiers.cs
- ImageInfo.cs
- CustomErrorCollection.cs
- ExtendedPropertyCollection.cs
- __Filters.cs
- Module.cs
- PasswordBox.cs
- SpellerHighlightLayer.cs
- OdbcParameterCollection.cs
- StaticContext.cs