Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Scripting / Compiler / SymbolDocumentGenerator.cs / 1305376 / SymbolDocumentGenerator.cs
/* **************************************************************************** * * Copyright (c) Microsoft Corporation. * * This source code is subject to terms and conditions of the Microsoft Public License. A * copy of the license can be found in the License.html file at the root of this distribution. If * you cannot locate the Microsoft Public License, please send an email to * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound * by the terms of the Microsoft Public License. * * You must not remove this notice, or any other, from this software. * * * ***************************************************************************/ #if MICROSOFT_SCRIPTING_CORE || SILVERLIGHT using ILGenerator = System.Linq.Expressions.Compiler.OffsetTrackingILGenerator; #endif using System.Collections.Generic; using System.Diagnostics; using System.Diagnostics.SymbolStore; using System.Linq.Expressions; using System.Linq.Expressions.Compiler; using System.Reflection; using System.Reflection.Emit; #if SILVERLIGHT using System.Core; #endif namespace System.Runtime.CompilerServices { ////// Generator of PDB debugging information for expression trees. /// internal sealed class SymbolDocumentGenerator : DebugInfoGenerator { private Dictionary_symbolWriters; private ISymbolDocumentWriter GetSymbolWriter(MethodBuilder method, SymbolDocumentInfo document) { ISymbolDocumentWriter result; if (_symbolWriters == null) { _symbolWriters = new Dictionary (); } if (!_symbolWriters.TryGetValue(document, out result)) { result = ((ModuleBuilder)method.Module).DefineDocument(document.FileName, document.Language, document.LanguageVendor, SymbolGuids.DocumentType_Text); _symbolWriters.Add(document, result); } return result; } internal override void MarkSequencePoint(LambdaExpression method, MethodBase methodBase, ILGenerator ilg, DebugInfoExpression sequencePoint) { MethodBuilder builder = methodBase as MethodBuilder; if (builder != null) { ilg.MarkSequencePoint(GetSymbolWriter(builder, sequencePoint.Document), sequencePoint.StartLine, sequencePoint.StartColumn, sequencePoint.EndLine, sequencePoint.EndColumn); } } public override void MarkSequencePoint(LambdaExpression method, int ilOffset, DebugInfoExpression sequencePoint) { throw Error.PdbGeneratorNeedsExpressionCompiler(); } internal override void SetLocalName(LocalBuilder localBuilder, string name) { localBuilder.SetLocalSymInfo(name); } } } // 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
- Positioning.cs
- Speller.cs
- Clause.cs
- Process.cs
- _CookieModule.cs
- Line.cs
- PropertyDescriptorGridEntry.cs
- XPathSelectionIterator.cs
- XsltArgumentList.cs
- FollowerQueueCreator.cs
- FileNotFoundException.cs
- ChannelSinkStacks.cs
- CodeExpressionStatement.cs
- NominalTypeEliminator.cs
- LocalFileSettingsProvider.cs
- LayoutTable.cs
- CompiledELinqQueryState.cs
- _Win32.cs
- ClientRuntimeConfig.cs
- PasswordTextContainer.cs
- PersonalizablePropertyEntry.cs
- ConstraintEnumerator.cs
- Command.cs
- NumberSubstitution.cs
- cookiecontainer.cs
- Int16Animation.cs
- XhtmlBasicCommandAdapter.cs
- CodeAccessPermission.cs
- SelectionProcessor.cs
- CompareInfo.cs
- PatternMatchRules.cs
- Internal.cs
- BaseValidator.cs
- DynamicControlParameter.cs
- DependencyObjectType.cs
- SingleStorage.cs
- GrammarBuilderRuleRef.cs
- CryptoHelper.cs
- DataGridRowEventArgs.cs
- RTTypeWrapper.cs
- ChannelBinding.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- CodeTypeMember.cs
- SiteMapNodeItemEventArgs.cs
- FileUpload.cs
- CompleteWizardStep.cs
- XmlNodeReader.cs
- SimpleRecyclingCache.cs
- DataGridViewToolTip.cs
- AddInEnvironment.cs
- entitydatasourceentitysetnameconverter.cs
- ComplexTypeEmitter.cs
- SchemaNotation.cs
- FrugalMap.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- Rfc2898DeriveBytes.cs
- TextProperties.cs
- BitSet.cs
- HandleDictionary.cs
- SerTrace.cs
- GotoExpression.cs
- DataServiceRequestOfT.cs
- ListManagerBindingsCollection.cs
- PartialCachingControl.cs
- SchemaMapping.cs
- SafeMILHandleMemoryPressure.cs
- Matrix3DValueSerializer.cs
- KernelTypeValidation.cs
- ResolvedKeyFrameEntry.cs
- CollectionChangedEventManager.cs
- ConvertersCollection.cs
- CompiledIdentityConstraint.cs
- EventHandlerList.cs
- Visitor.cs
- CompilerResults.cs
- HttpDebugHandler.cs
- WindowsTokenRoleProvider.cs
- ComponentDispatcher.cs
- TimeSpanConverter.cs
- ExpressionParser.cs
- FontSource.cs
- Point.cs
- RequestResponse.cs
- ContainerControlDesigner.cs
- MouseActionConverter.cs
- AppDomainProtocolHandler.cs
- InvokeGenerator.cs
- ValueUtilsSmi.cs
- SoapIgnoreAttribute.cs
- MatrixValueSerializer.cs
- DrawListViewSubItemEventArgs.cs
- ZipPackagePart.cs
- DataContractFormatAttribute.cs
- StatusBarPanel.cs
- FileDialog_Vista_Interop.cs
- InternalControlCollection.cs
- XPathNodeHelper.cs
- ComplexType.cs
- Size3DConverter.cs
- CellTreeNodeVisitors.cs