Code:
/ 4.0 / 4.0 / 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. /* **************************************************************************** * * 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 CallSite but // 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
- TypedReference.cs
- ToolStripItemGlyph.cs
- _AutoWebProxyScriptWrapper.cs
- TextParagraphCache.cs
- PlainXmlSerializer.cs
- DefaultExpression.cs
- LoadedOrUnloadedOperation.cs
- TextDecorationCollectionConverter.cs
- XmlUrlResolver.cs
- ControlOperationBehavior.cs
- ProgressPage.cs
- DetailsViewPageEventArgs.cs
- ProfilePropertyNameValidator.cs
- Automation.cs
- UserPersonalizationStateInfo.cs
- ListViewUpdatedEventArgs.cs
- TemplateXamlParser.cs
- DocumentPage.cs
- CompiledRegexRunnerFactory.cs
- HtmlUtf8RawTextWriter.cs
- ApplyTemplatesAction.cs
- TextComposition.cs
- CodeGenerationManager.cs
- CommandField.cs
- RealProxy.cs
- StorageSetMapping.cs
- MailAddressParser.cs
- Path.cs
- WorkflowDefinitionDispenser.cs
- HandleCollector.cs
- ToolStripMenuItem.cs
- TextRangeSerialization.cs
- AuthenticationModuleElementCollection.cs
- SequentialWorkflowRootDesigner.cs
- WebBrowser.cs
- ButtonBase.cs
- Lasso.cs
- NegatedConstant.cs
- DomainConstraint.cs
- GeneratedCodeAttribute.cs
- CSharpCodeProvider.cs
- FieldToken.cs
- WebEventTraceProvider.cs
- QueryHandler.cs
- InvokeWebService.cs
- EntityDataReader.cs
- DefaultTraceListener.cs
- SplineQuaternionKeyFrame.cs
- UnsafeNativeMethods.cs
- ConsoleCancelEventArgs.cs
- NTAccount.cs
- TextChangedEventArgs.cs
- TraceLevelStore.cs
- LayoutUtils.cs
- DesignerCategoryAttribute.cs
- MsmqAppDomainProtocolHandler.cs
- FusionWrap.cs
- DelayLoadType.cs
- oledbconnectionstring.cs
- UnsafeNativeMethods.cs
- TimersDescriptionAttribute.cs
- PhysicalAddress.cs
- DrawItemEvent.cs
- Int32Converter.cs
- DataViewListener.cs
- WindowsTokenRoleProvider.cs
- columnmapfactory.cs
- CacheHelper.cs
- StringKeyFrameCollection.cs
- WebHttpSecurity.cs
- XmlEntityReference.cs
- StrokeNodeOperations.cs
- ByteStack.cs
- ThrowHelper.cs
- MessageDecoder.cs
- PointAnimationUsingKeyFrames.cs
- RowToParametersTransformer.cs
- ControlAdapter.cs
- _Semaphore.cs
- TextAdaptor.cs
- ContractMapping.cs
- ChannelServices.cs
- ActiveDocumentEvent.cs
- WebPartConnectionCollection.cs
- PhysicalFontFamily.cs
- EntityModelSchemaGenerator.cs
- SerializationFieldInfo.cs
- UpdatePanelControlTrigger.cs
- WindowsTreeView.cs
- LoadGrammarCompletedEventArgs.cs
- TagMapCollection.cs
- ServiceDescription.cs
- BrushMappingModeValidation.cs
- FixedMaxHeap.cs
- QilChoice.cs
- BitmapSourceSafeMILHandle.cs
- Ref.cs
- WindowsSlider.cs
- SerializerWriterEventHandlers.cs
- DocumentAutomationPeer.cs