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
- TrustLevel.cs
- FileEnumerator.cs
- ConfigurationLockCollection.cs
- StreamingContext.cs
- ImageInfo.cs
- SendMessageChannelCache.cs
- CompositeTypefaceMetrics.cs
- IHttpResponseInternal.cs
- AddInPipelineAttributes.cs
- Codec.cs
- IDispatchConstantAttribute.cs
- CodeTypeDeclarationCollection.cs
- DrawingGroupDrawingContext.cs
- SettingsBindableAttribute.cs
- AvTraceFormat.cs
- TextBreakpoint.cs
- NetDataContractSerializer.cs
- Unit.cs
- SystemColors.cs
- ValidatorCompatibilityHelper.cs
- FormViewDeleteEventArgs.cs
- ContentFileHelper.cs
- AuditLevel.cs
- CallInfo.cs
- IntranetCredentialPolicy.cs
- WebPartHeaderCloseVerb.cs
- TripleDES.cs
- SqlDataSourceEnumerator.cs
- SafeMarshalContext.cs
- ValueTypeFieldReference.cs
- WebPartAddingEventArgs.cs
- ViewGenResults.cs
- FontStyles.cs
- ProxyAttribute.cs
- NeutralResourcesLanguageAttribute.cs
- RelatedEnd.cs
- ScrollViewer.cs
- UnknownBitmapEncoder.cs
- ObjectDesignerDataSourceView.cs
- Visual3DCollection.cs
- HttpCookieCollection.cs
- AttributeEmitter.cs
- ColumnWidthChangedEvent.cs
- EmbeddedMailObject.cs
- SqlIdentifier.cs
- TdsParserHelperClasses.cs
- Attributes.cs
- WorkerRequest.cs
- ReachFixedPageSerializer.cs
- XmlSchemaExporter.cs
- HostedHttpTransportManager.cs
- SelectorAutomationPeer.cs
- SessionStateModule.cs
- Int32CollectionConverter.cs
- ResXResourceWriter.cs
- MetricEntry.cs
- HttpBufferlessInputStream.cs
- UpdateEventArgs.cs
- SecurityManager.cs
- XamlBrushSerializer.cs
- BoundPropertyEntry.cs
- EventLogPropertySelector.cs
- GroupByExpressionRewriter.cs
- HandlerBase.cs
- FrameworkElement.cs
- TransformerConfigurationWizardBase.cs
- PriorityBinding.cs
- ConfigXmlDocument.cs
- TargetControlTypeCache.cs
- CollectionBuilder.cs
- ManipulationDelta.cs
- MailDefinition.cs
- MultiBindingExpression.cs
- ArglessEventHandlerProxy.cs
- BrowserCapabilitiesCodeGenerator.cs
- DictionaryBase.cs
- EffectiveValueEntry.cs
- FixedPosition.cs
- TrackBar.cs
- CurrentTimeZone.cs
- webbrowsersite.cs
- PartManifestEntry.cs
- CommandID.cs
- SimpleType.cs
- XPathEmptyIterator.cs
- SqlParameter.cs
- ScriptControl.cs
- TextEmbeddedObject.cs
- CommandPlan.cs
- FSWPathEditor.cs
- MeshGeometry3D.cs
- NullReferenceException.cs
- HashCodeCombiner.cs
- OdbcCommand.cs
- DataGridViewSelectedCellCollection.cs
- IconConverter.cs
- InstanceLockLostException.cs
- MemoryMappedViewAccessor.cs
- WCFServiceClientProxyGenerator.cs
- PeerNameRecord.cs