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
- TableItemProviderWrapper.cs
- XmlSerializerFormatAttribute.cs
- FrameworkContentElement.cs
- PrimitiveCodeDomSerializer.cs
- Paragraph.cs
- Expressions.cs
- SamlAuthorizationDecisionClaimResource.cs
- InputDevice.cs
- PerformanceCounters.cs
- WebConfigurationFileMap.cs
- FunctionNode.cs
- _Win32.cs
- InvalidWMPVersionException.cs
- FilterUserControlBase.cs
- SHA256.cs
- FocusManager.cs
- StatusBarPanelClickEvent.cs
- Line.cs
- ProgressBarAutomationPeer.cs
- CommandHelpers.cs
- ObjectKeyFrameCollection.cs
- WebServiceEnumData.cs
- SystemPens.cs
- WebServiceBindingAttribute.cs
- ErrorProvider.cs
- XmlSchemaObjectCollection.cs
- KerberosSecurityTokenProvider.cs
- PermissionRequestEvidence.cs
- XmlCountingReader.cs
- TableRowGroup.cs
- PageBuildProvider.cs
- ButtonStandardAdapter.cs
- PropertyCollection.cs
- invalidudtexception.cs
- BrowserTree.cs
- LazyTextWriterCreator.cs
- CopyOnWriteList.cs
- ClipboardProcessor.cs
- ValueType.cs
- DataRelation.cs
- ReflectionHelper.cs
- ExpressionSelection.cs
- DataGridViewCellConverter.cs
- XmlStringTable.cs
- DataServiceStreamProviderWrapper.cs
- NamespaceEmitter.cs
- EdmItemError.cs
- GridViewCancelEditEventArgs.cs
- DataGridViewRowHeaderCell.cs
- wgx_sdk_version.cs
- ProcessModuleCollection.cs
- VScrollBar.cs
- WindowsListViewItemStartMenu.cs
- BuilderInfo.cs
- EntryWrittenEventArgs.cs
- ExpressionWriter.cs
- UnsafeNativeMethods.cs
- ConfigurationValue.cs
- DefaultCommandConverter.cs
- GPRECT.cs
- X509LogoTypeExtension.cs
- LinearKeyFrames.cs
- KnownTypesHelper.cs
- PackagePart.cs
- TraceProvider.cs
- TemplateManager.cs
- TargetControlTypeAttribute.cs
- ColorMap.cs
- NestPullup.cs
- CellNormalizer.cs
- FixUp.cs
- SafeCoTaskMem.cs
- MaskDesignerDialog.cs
- SqlConnectionPoolGroupProviderInfo.cs
- CompositeClientFormatter.cs
- WebBrowserContainer.cs
- DataStorage.cs
- XmlAttributeCache.cs
- MessageUtil.cs
- OperationContextScope.cs
- NominalTypeEliminator.cs
- ShimAsPublicXamlType.cs
- ListControlConvertEventArgs.cs
- DrawingImage.cs
- TypedDatasetGenerator.cs
- TextEditorCopyPaste.cs
- DataGridColumn.cs
- DataGridViewMethods.cs
- TypedRowHandler.cs
- OpenTypeLayout.cs
- XamlRtfConverter.cs
- QuaternionConverter.cs
- Console.cs
- TextTreeInsertUndoUnit.cs
- PropertyValueUIItem.cs
- PageAsyncTaskManager.cs
- FlowDocumentPaginator.cs
- ReadWriteControlDesigner.cs
- GeometryValueSerializer.cs
- Separator.cs