Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Scripting / Actions / CallSiteHelpers.cs / 1305376 / CallSiteHelpers.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.Reflection; namespace System.Runtime.CompilerServices { ////// Class that contains helper methods for DLR CallSites. /// public static class CallSiteHelpers { private static Type _knownNonDynamicMethodType = typeof(object).GetMethod("ToString").GetType(); ////// Checks if a /// The inputis internally used by DLR and should not /// be displayed on the language code's stack. /// /// /// True if the input [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")] public static bool IsInternalFrame(MethodBase mb) { //All the dynamic methods created for DLR rules have a special name. //We also check if the method has a different type than the known //non-static method. If it does, it is a dynamic method. //This could be improved if the CLR provides a way to attach some information //to the dynamic method we create, like CustomAttributes. if (mb.Name == "CallSite.Target" && mb.GetType() != _knownNonDynamicMethodType) { return true; } //Filter out the helper methods. if (mb.DeclaringType == typeof(System.Dynamic.UpdateDelegates)) { return true; } return false; } } } // 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.Reflection; namespace System.Runtime.CompilerServices { ///is internally used by DLR and should not /// be displayed on the language code's stack. Otherwise, false. /// /// Class that contains helper methods for DLR CallSites. /// public static class CallSiteHelpers { private static Type _knownNonDynamicMethodType = typeof(object).GetMethod("ToString").GetType(); ////// Checks if a /// The inputis internally used by DLR and should not /// be displayed on the language code's stack. /// /// /// True if the input [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")] public static bool IsInternalFrame(MethodBase mb) { //All the dynamic methods created for DLR rules have a special name. //We also check if the method has a different type than the known //non-static method. If it does, it is a dynamic method. //This could be improved if the CLR provides a way to attach some information //to the dynamic method we create, like CustomAttributes. if (mb.Name == "CallSite.Target" && mb.GetType() != _knownNonDynamicMethodType) { return true; } //Filter out the helper methods. if (mb.DeclaringType == typeof(System.Dynamic.UpdateDelegates)) { return true; } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.is internally used by DLR and should not /// be displayed on the language code's stack. Otherwise, false. ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NamedPipeConnectionPool.cs
- DataMemberConverter.cs
- DbDataRecord.cs
- Vector3DAnimationBase.cs
- XamlSerializer.cs
- COM2IManagedPerPropertyBrowsingHandler.cs
- StateMachine.cs
- EditorZoneAutoFormat.cs
- PostBackTrigger.cs
- arabicshape.cs
- EllipseGeometry.cs
- BamlResourceSerializer.cs
- InputLanguageSource.cs
- COM2PropertyDescriptor.cs
- QuaternionRotation3D.cs
- XmlAttributeCollection.cs
- DetailsViewDeletedEventArgs.cs
- WorkflowMarkupSerializationException.cs
- StorageMappingItemCollection.cs
- KeyboardDevice.cs
- AutomationTextAttribute.cs
- HuffModule.cs
- PrimaryKeyTypeConverter.cs
- WindowsRegion.cs
- ServiceMetadataContractBehavior.cs
- MaskDescriptor.cs
- graph.cs
- TabItemWrapperAutomationPeer.cs
- ProgramPublisher.cs
- BCryptNative.cs
- StaticFileHandler.cs
- RewritingProcessor.cs
- CompositeActivityMarkupSerializer.cs
- IntegrationExceptionEventArgs.cs
- ClientTargetSection.cs
- CachedBitmap.cs
- GCHandleCookieTable.cs
- Stream.cs
- InputReport.cs
- ACL.cs
- SocketElement.cs
- EditorZone.cs
- ClassHandlersStore.cs
- EllipseGeometry.cs
- XmlAttributeProperties.cs
- XmlJsonWriter.cs
- TrustLevel.cs
- ChannelEndpointElement.cs
- HotSpotCollection.cs
- ExpandedWrapper.cs
- AutoCompleteStringCollection.cs
- XmlCharType.cs
- PeerContact.cs
- CancelEventArgs.cs
- TabControlEvent.cs
- FileVersionInfo.cs
- FileAccessException.cs
- XmlDigitalSignatureProcessor.cs
- OptimisticConcurrencyException.cs
- DBPropSet.cs
- DataErrorValidationRule.cs
- VirtualizingPanel.cs
- MarkupWriter.cs
- BindingManagerDataErrorEventArgs.cs
- HtmlElementCollection.cs
- StylusTip.cs
- XmlSchemaCollection.cs
- Token.cs
- IndentedTextWriter.cs
- PageWrapper.cs
- ObjectDataSourceView.cs
- ILGenerator.cs
- FormsAuthenticationEventArgs.cs
- HttpProcessUtility.cs
- CryptoStream.cs
- MouseOverProperty.cs
- CaretElement.cs
- SqlDataSourceCommandEventArgs.cs
- ValueHandle.cs
- XmlSchemaNotation.cs
- XamlWriter.cs
- AttributeSetAction.cs
- PropertyRecord.cs
- EventDescriptor.cs
- AdCreatedEventArgs.cs
- XmlExtensionFunction.cs
- TargetControlTypeCache.cs
- Int16AnimationUsingKeyFrames.cs
- ColumnMap.cs
- StoreUtilities.cs
- AnimationException.cs
- StylusCollection.cs
- NavigationEventArgs.cs
- BamlRecordHelper.cs
- LeaseManager.cs
- DesignerTransactionCloseEvent.cs
- PropertyPath.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- MulticastNotSupportedException.cs
- ServiceNameCollection.cs