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
- EventMappingSettingsCollection.cs
- ConnectionStringSettingsCollection.cs
- WebPartAddingEventArgs.cs
- Events.cs
- EllipticalNodeOperations.cs
- TextTreeTextElementNode.cs
- TypedElement.cs
- ReferenceEqualityComparer.cs
- TTSEngineProxy.cs
- _Semaphore.cs
- TypeUsage.cs
- EDesignUtil.cs
- TextRangeSerialization.cs
- BasicCommandTreeVisitor.cs
- ParseChildrenAsPropertiesAttribute.cs
- RoutedPropertyChangedEventArgs.cs
- WindowsSysHeader.cs
- EntityDataSourceChangedEventArgs.cs
- TextBoxView.cs
- StructuredType.cs
- ContractNamespaceAttribute.cs
- NCryptSafeHandles.cs
- HtmlProps.cs
- BitmapInitialize.cs
- RightsManagementUser.cs
- DetailsViewPagerRow.cs
- SystemSounds.cs
- _HeaderInfoTable.cs
- SamlAttributeStatement.cs
- RewritingPass.cs
- COM2TypeInfoProcessor.cs
- MobileUITypeEditor.cs
- XamlReaderConstants.cs
- ApplicationContext.cs
- RuntimeArgumentHandle.cs
- BStrWrapper.cs
- HyperLink.cs
- IdentityNotMappedException.cs
- HyperLinkDataBindingHandler.cs
- ConfigurationPropertyCollection.cs
- ISAPIWorkerRequest.cs
- CreateUserWizard.cs
- HScrollProperties.cs
- AttributedMetaModel.cs
- ScrollProperties.cs
- MdImport.cs
- QilSortKey.cs
- DataRecord.cs
- InternalsVisibleToAttribute.cs
- DbgUtil.cs
- CreateUserWizardStep.cs
- ClientRolePrincipal.cs
- QueueProcessor.cs
- NotImplementedException.cs
- GridViewCellAutomationPeer.cs
- Helper.cs
- UnaryExpression.cs
- DataGridViewCellPaintingEventArgs.cs
- SerializationInfo.cs
- ServiceX509SecurityTokenProvider.cs
- OleDbConnectionInternal.cs
- ResourceContainer.cs
- BinaryConverter.cs
- Activity.cs
- CodeBinaryOperatorExpression.cs
- DiagnosticEventProvider.cs
- TextWriter.cs
- SerializationHelper.cs
- TypeDelegator.cs
- XsdBuildProvider.cs
- externdll.cs
- StorageComplexPropertyMapping.cs
- SymbolTable.cs
- SqlRowUpdatingEvent.cs
- RawStylusInput.cs
- _DigestClient.cs
- TextBreakpoint.cs
- LocationChangedEventArgs.cs
- OdbcReferenceCollection.cs
- Lease.cs
- EntityDataSourceDesignerHelper.cs
- BasicViewGenerator.cs
- NativeMethodsCLR.cs
- StructuralType.cs
- KeyedCollection.cs
- NamedObjectList.cs
- TdsParser.cs
- SafeLibraryHandle.cs
- ComplusEndpointConfigContainer.cs
- FixedBufferAttribute.cs
- DeviceContexts.cs
- InternalsVisibleToAttribute.cs
- EntityContainerAssociationSetEnd.cs
- DictionaryBase.cs
- MailMessageEventArgs.cs
- WindowsScroll.cs
- TargetInvocationException.cs
- TransformedBitmap.cs
- XmlLanguage.cs
- FormatConvertedBitmap.cs