Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Debugger / State.cs / 1305376 / State.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities.Debugger { using System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime; using System.Diagnostics.CodeAnalysis; // Describes a "state" in the interpretter. A state is any source location that // a breakpoint could be set on or that could be stepped to. [DebuggerNonUserCode] [Fx.Tag.XamlVisible(false)] public class State { SourceLocation location; string name; IEnumerableearlyLocals; int numberOfEarlyLocals; // Calling Type.GetMethod() is slow (10,000 calls can take ~1 minute). // So we stash extra fields to be able to make the call lazily (as we Enter the state). // this.type.GetMethod Type type; string methodName; internal State(SourceLocation location, string name, IEnumerable earlyLocals, int numberOfEarlyLocals) { this.location = location; this.name = name; this.earlyLocals = earlyLocals; Fx.Assert(earlyLocals != null || numberOfEarlyLocals == 0, "If earlyLocals is null then numberOfEarlyLocals should be 0"); // Ignore the passed numberOfEarlyLocals if earlyLocal is null. this.numberOfEarlyLocals = (earlyLocals == null) ? 0 : numberOfEarlyLocals; } // Location in source file associated with this state. internal SourceLocation Location { get { return this.location; } } // Friendly name of the state. May be null if state is not named. // States need unique names. internal string Name { get { return this.name; } } // Type definitions for early bound locals. This list is ordered. // Names should be unique. internal IEnumerable EarlyLocals { get { return this.earlyLocals; } } internal int NumberOfEarlyLocals { get { return this.numberOfEarlyLocals; } } internal void CacheMethodInfo(Type type, string methodName) { this.type = type; this.methodName = methodName; } // Helper to lazily get the MethodInfo. This is expensive, so caller should cache it. internal MethodInfo GetMethodInfo(bool withPriming) { MethodInfo methodInfo = this.type.GetMethod(withPriming ? StateManager.MethodWithPrimingPrefix + this.methodName : this.methodName); return methodInfo; } } } // 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
- MailSettingsSection.cs
- WebBrowsableAttribute.cs
- _RegBlobWebProxyDataBuilder.cs
- DataListCommandEventArgs.cs
- XamlGridLengthSerializer.cs
- SplitterEvent.cs
- TemplateBindingExpressionConverter.cs
- PointValueSerializer.cs
- OleDbCommand.cs
- UrlPath.cs
- ChildTable.cs
- XmlEncodedRawTextWriter.cs
- CodeTypeOfExpression.cs
- XmlWrappingReader.cs
- SHA1CryptoServiceProvider.cs
- FixedDocumentSequencePaginator.cs
- PathStreamGeometryContext.cs
- OleDbEnumerator.cs
- SecurityMode.cs
- WindowsSpinner.cs
- ItemMap.cs
- MobileComponentEditorPage.cs
- TypeGeneratedEventArgs.cs
- HwndSource.cs
- DesignerActionUI.cs
- CodeDelegateInvokeExpression.cs
- TabControl.cs
- CachingParameterInspector.cs
- CqlParserHelpers.cs
- ExpressionWriter.cs
- TemplatedMailWebEventProvider.cs
- PriorityQueue.cs
- EventSourceCreationData.cs
- SystemDiagnosticsSection.cs
- WebPartVerbCollection.cs
- IsolatedStorage.cs
- SmiSettersStream.cs
- WebServiceEnumData.cs
- OdbcError.cs
- X509Extension.cs
- CommunicationObjectManager.cs
- DataControlImageButton.cs
- Int16Converter.cs
- BinaryFormatterSinks.cs
- ListComponentEditor.cs
- SocketConnection.cs
- NavigationProgressEventArgs.cs
- RangeValuePattern.cs
- Overlapped.cs
- GradientBrush.cs
- MenuAdapter.cs
- TemplateKeyConverter.cs
- DataControlExtensions.cs
- X509UI.cs
- ContainerVisual.cs
- RecognitionEventArgs.cs
- SafeRightsManagementEnvironmentHandle.cs
- RealProxy.cs
- Line.cs
- KeyPressEvent.cs
- FontStretches.cs
- CommonProperties.cs
- TypeDelegator.cs
- BindingNavigator.cs
- ValueTypeFixupInfo.cs
- DateTimeAutomationPeer.cs
- ExeConfigurationFileMap.cs
- StylusPointPropertyId.cs
- ObjectSpanRewriter.cs
- CodeSnippetExpression.cs
- SQLMoney.cs
- TableLayoutSettings.cs
- StaticTextPointer.cs
- StringFunctions.cs
- PageRanges.cs
- TextInfo.cs
- SegmentInfo.cs
- HelloOperationCD1AsyncResult.cs
- RemoteWebConfigurationHostStream.cs
- Win32Exception.cs
- BooleanConverter.cs
- DateTimeOffsetAdapter.cs
- ManipulationDelta.cs
- ProtocolsConfiguration.cs
- EtwTrace.cs
- StylusPointProperties.cs
- DiffuseMaterial.cs
- HwndStylusInputProvider.cs
- DesignerResources.cs
- Brush.cs
- KeyConverter.cs
- CreateSequence.cs
- ExtensionElement.cs
- KeyGestureConverter.cs
- CodeDelegateCreateExpression.cs
- WmlListAdapter.cs
- MediaSystem.cs
- EpmSyndicationContentSerializer.cs
- InlineUIContainer.cs
- XmlDocumentSerializer.cs