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
- CodeParameterDeclarationExpression.cs
- ValidatingReaderNodeData.cs
- XmlNotation.cs
- MobileSysDescriptionAttribute.cs
- DirectoryInfo.cs
- DBSqlParserTableCollection.cs
- Mappings.cs
- LinqDataSourceEditData.cs
- XamlTemplateSerializer.cs
- SqlTopReducer.cs
- FigureHelper.cs
- updateconfighost.cs
- QilPatternVisitor.cs
- UriTemplatePathSegment.cs
- PeerName.cs
- AuthStoreRoleProvider.cs
- MetadataCache.cs
- PresentationTraceSources.cs
- UniformGrid.cs
- ControlIdConverter.cs
- CodeIndexerExpression.cs
- FunctionNode.cs
- QueryMath.cs
- PriorityRange.cs
- CriticalHandle.cs
- HttpModuleActionCollection.cs
- DateTimeUtil.cs
- RoleManagerModule.cs
- TableLayoutStyleCollection.cs
- Vector3dCollection.cs
- DataGridViewCell.cs
- PropertyIDSet.cs
- WebPartHeaderCloseVerb.cs
- SoapRpcServiceAttribute.cs
- Int32CollectionConverter.cs
- ProgressBar.cs
- TCPListener.cs
- XmlCountingReader.cs
- VisualStyleRenderer.cs
- recordstate.cs
- FixedSOMGroup.cs
- PageRanges.cs
- WpfXamlMember.cs
- SqlAliaser.cs
- ReflectionTypeLoadException.cs
- DelegatedStream.cs
- PhysicalOps.cs
- SqlFacetAttribute.cs
- FontCacheUtil.cs
- Semaphore.cs
- DependencyObjectValidator.cs
- Point3DConverter.cs
- EntityDesignerBuildProvider.cs
- CombinedHttpChannel.cs
- BufferedWebEventProvider.cs
- HtmlImage.cs
- DataSourceHelper.cs
- CaseCqlBlock.cs
- UserControlBuildProvider.cs
- TextEmbeddedObject.cs
- TemplateBamlRecordReader.cs
- XmlILModule.cs
- NetworkInformationPermission.cs
- SqlBooleanizer.cs
- HandledMouseEvent.cs
- __Filters.cs
- WebPartsPersonalizationAuthorization.cs
- HTTPNotFoundHandler.cs
- ContentElementAutomationPeer.cs
- DataMisalignedException.cs
- PaintEvent.cs
- CustomExpression.cs
- ScrollBarAutomationPeer.cs
- ProcessModelSection.cs
- ThreadExceptionEvent.cs
- ISAPIApplicationHost.cs
- DynamicActivityTypeDescriptor.cs
- GridSplitter.cs
- PrimaryKeyTypeConverter.cs
- ElementAction.cs
- Rule.cs
- CodeTypeReferenceCollection.cs
- Compress.cs
- TextEditorSpelling.cs
- TextServicesLoader.cs
- DataBoundControlAdapter.cs
- WebConfigurationHost.cs
- MarkupWriter.cs
- DataGridViewCellStyle.cs
- XamlClipboardData.cs
- SoapFault.cs
- _OverlappedAsyncResult.cs
- LayoutEditorPart.cs
- UnSafeCharBuffer.cs
- WebServiceEnumData.cs
- EntityRecordInfo.cs
- ProcessInputEventArgs.cs
- XsltInput.cs
- CurrencyManager.cs
- PointLightBase.cs