Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Scripting / Actions / CallSiteOps.cs / 1305376 / CallSiteOps.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. * * * ***************************************************************************/ using System.ComponentModel; using System.Diagnostics; using System.Dynamic; using System.Linq.Expressions; using System.Collections.Generic; namespace System.Runtime.CompilerServices { // Conceptually these are instance methods on CallSitebut // we don't want users to see them /// /// This API supports the .NET Framework infrastructure and is not intended to be used directly from your code. /// [EditorBrowsable(EditorBrowsableState.Never), DebuggerStepThrough] public static class CallSiteOps { ////// Creates an instance of a dynamic call site used for cache lookup. /// ///The type of the delegate of the ///. The new call site. [Obsolete("do not use this method", true), EditorBrowsable(EditorBrowsableState.Never)] public static CallSiteCreateMatchmaker (CallSite site) where T : class { var mm = site.CreateMatchMaker(); CallSiteOps.ClearMatch(mm); return mm; } /// /// Checks if a dynamic site requires an update. /// /// An instance of the dynamic call site. ///true if rule does not need updating, false otherwise. [Obsolete("do not use this method", true), EditorBrowsable(EditorBrowsableState.Never)] public static bool SetNotMatched(CallSite site) { var res = site._match; site._match = false; //avoid branch here to make sure the method is inlined return res; } ////// Checks whether the executed rule matched /// /// An instance of the dynamic call site. ///true if rule matched, false otherwise. [Obsolete("do not use this method", true), EditorBrowsable(EditorBrowsableState.Never)] public static bool GetMatch(CallSite site) { return site._match; } ////// Clears the match flag on the matchmaker call site. /// /// An instance of the dynamic call site. [Obsolete("do not use this method", true), EditorBrowsable(EditorBrowsableState.Never)] public static void ClearMatch(CallSite site) { site._match = true; } ////// Adds a rule to the cache maintained on the dynamic call site. /// ///The type of the delegate of the /// An instance of the dynamic call site. /// An instance of the call site rule. [Obsolete("do not use this method", true), EditorBrowsable(EditorBrowsableState.Never)] public static void AddRule. (CallSite site, T rule) where T : class { site.AddRule(rule); } /// /// Updates rules in the cache. /// ///The type of the delegate of the /// An instance of the dynamic call site. /// The matched rule index. [Obsolete("do not use this method", true), EditorBrowsable(EditorBrowsableState.Never)] public static void UpdateRules. (CallSite @this, int matched) where T : class { if (matched > 1) { @this.MoveRule(matched); } } /// /// Gets the dynamic binding rules from the call site. /// ///The type of the delegate of the /// An instance of the dynamic call site. ///. An array of dynamic binding rules. [Obsolete("do not use this method", true), EditorBrowsable(EditorBrowsableState.Never)] public static T[] GetRules(CallSite site) where T : class { return site.Rules; } /// /// Retrieves binding rule cache. /// ///The type of the delegate of the /// An instance of the dynamic call site. ///. The cache. [Obsolete("do not use this method", true), EditorBrowsable(EditorBrowsableState.Never)] public static RuleCacheGetRuleCache (CallSite site) where T : class { return site.Binder.GetRuleCache (); } /// /// Moves the binding rule within the cache. /// ///The type of the delegate of the /// The call site rule cache. /// An instance of the call site rule. /// An index of the call site rule. [Obsolete("do not use this method", true), EditorBrowsable(EditorBrowsableState.Never)] public static void MoveRule. (RuleCache cache, T rule, int i) where T : class { if (i > 1) { cache.MoveRule(rule, i); } } /// /// Searches the dynamic rule cache for rules applicable to the dynamic operation. /// ///The type of the delegate of the /// The cache. ///. The collection of applicable rules. [Obsolete("do not use this method", true), EditorBrowsable(EditorBrowsableState.Never)] public static T[] GetCachedRules(RuleCache cache) where T : class { return cache.GetRules(); } /// /// Updates the call site target with a new rule based on the arguments. /// ///The type of the delegate of the /// The call site binder. /// An instance of the dynamic call site. /// Arguments to the call site. ///. The new call site target. [Obsolete("do not use this method", true), EditorBrowsable(EditorBrowsableState.Never)] public static T Bind(CallSiteBinder binder, CallSite site, object[] args) where T : class { return binder.BindCore(site, args); } } } // 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
- CodeCatchClause.cs
- ElapsedEventArgs.cs
- XmlWellformedWriterHelpers.cs
- WizardStepBase.cs
- FileSystemInfo.cs
- Decimal.cs
- DocumentOutline.cs
- WSTrustFeb2005.cs
- BufferedConnection.cs
- Form.cs
- MediaElementAutomationPeer.cs
- TextTreeUndo.cs
- MD5CryptoServiceProvider.cs
- ModuleBuilderData.cs
- HttpStaticObjectsCollectionBase.cs
- DiscoveryClientChannelBase.cs
- XmlTextReaderImpl.cs
- HttpVersion.cs
- OverflowException.cs
- InvalidPrinterException.cs
- invalidudtexception.cs
- CollectionViewProxy.cs
- CheckBoxAutomationPeer.cs
- StorageEntityTypeMapping.cs
- XmlAttributeAttribute.cs
- DynamicMethod.cs
- SamlConditions.cs
- AssemblyBuilderData.cs
- WinEventWrap.cs
- FormatStringEditor.cs
- RectConverter.cs
- HelpKeywordAttribute.cs
- SafeFindHandle.cs
- CapabilitiesAssignment.cs
- PerspectiveCamera.cs
- OleDbRowUpdatingEvent.cs
- Typeface.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- CryptoHandle.cs
- DbParameterHelper.cs
- AnnotationMap.cs
- StorageComplexTypeMapping.cs
- ExtenderControl.cs
- DesignerActionVerbItem.cs
- MultiBindingExpression.cs
- CapabilitiesUse.cs
- SslStreamSecurityUpgradeProvider.cs
- ParameterModifier.cs
- Camera.cs
- ImageIndexConverter.cs
- Control.cs
- ReaderWriterLockWrapper.cs
- SmtpReplyReader.cs
- AssociationTypeEmitter.cs
- EncodingInfo.cs
- SqlExpander.cs
- ProfessionalColorTable.cs
- CodeCatchClauseCollection.cs
- ADMembershipProvider.cs
- WebPartZone.cs
- ClientSideProviderDescription.cs
- _Connection.cs
- PackagePart.cs
- RegexCharClass.cs
- DesignerActionVerbItem.cs
- Internal.cs
- ObjectPersistData.cs
- GraphicsContainer.cs
- CompositeClientFormatter.cs
- FrameworkContentElementAutomationPeer.cs
- MsmqAppDomainProtocolHandler.cs
- CompatibleIComparer.cs
- CompositionCommandSet.cs
- SqlExpressionNullability.cs
- NotifyInputEventArgs.cs
- ProfileProvider.cs
- CapacityStreamGeometryContext.cs
- DBConcurrencyException.cs
- SqlMethodAttribute.cs
- AppDomainProtocolHandler.cs
- TextRangeEdit.cs
- Color.cs
- SizeFConverter.cs
- XmlWriterTraceListener.cs
- login.cs
- GenericWebPart.cs
- ProfileEventArgs.cs
- MultipleViewPattern.cs
- TemplateNameScope.cs
- SplineQuaternionKeyFrame.cs
- FormatConvertedBitmap.cs
- ResourceDictionaryCollection.cs
- SafeFileMappingHandle.cs
- DecryptRequest.cs
- RelativeSource.cs
- DecoderNLS.cs
- WorkflowView.cs
- SoapTransportImporter.cs
- SR.cs
- WindowClosedEventArgs.cs