Code:
/ 4.0 / 4.0 / untmp / 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 is internally used by DLR and should not
/// be displayed on the language code's stack.
///
/// The input
///
/// True if the input is internally used by DLR and should not
/// be displayed on the language code's stack. Otherwise, false.
///
[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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SrgsElement.cs
- TextTreeDeleteContentUndoUnit.cs
- AssemblyResourceLoader.cs
- WindowsFormsSynchronizationContext.cs
- AnimationTimeline.cs
- XamlReaderHelper.cs
- MeasurementDCInfo.cs
- MetadataArtifactLoaderResource.cs
- DbConnectionOptions.cs
- Profiler.cs
- HTMLTagNameToTypeMapper.cs
- WinEventWrap.cs
- AnimationClock.cs
- ReadingWritingEntityEventArgs.cs
- WsatTransactionInfo.cs
- XmlHierarchicalEnumerable.cs
- SerializationStore.cs
- PngBitmapEncoder.cs
- CloudCollection.cs
- DbDataSourceEnumerator.cs
- Span.cs
- DataComponentGenerator.cs
- Encoder.cs
- BindingExpressionUncommonField.cs
- DownloadProgressEventArgs.cs
- XPathLexer.cs
- GridItem.cs
- SchemaNotation.cs
- DataGridViewColumnEventArgs.cs
- SqlMethodAttribute.cs
- InternalSendMessage.cs
- XsdValidatingReader.cs
- Behavior.cs
- LocatorPartList.cs
- StructuralCache.cs
- PreviewPrintController.cs
- BamlLocalizabilityResolver.cs
- SmtpLoginAuthenticationModule.cs
- ComponentSerializationService.cs
- WSHttpBindingBaseElement.cs
- ResourceAssociationSet.cs
- TextTreeObjectNode.cs
- TextEndOfLine.cs
- QilXmlReader.cs
- TableCellCollection.cs
- ReadWriteSpinLock.cs
- NullableLongSumAggregationOperator.cs
- EncodingTable.cs
- DataGridPagerStyle.cs
- PersonalizationAdministration.cs
- ActivationServices.cs
- PresentationTraceSources.cs
- EnlistmentTraceIdentifier.cs
- DeclaredTypeElement.cs
- DateTimeStorage.cs
- DiscardableAttribute.cs
- AdornerDecorator.cs
- DrawListViewColumnHeaderEventArgs.cs
- HoistedLocals.cs
- CellTreeNode.cs
- arc.cs
- CqlBlock.cs
- TemplateNameScope.cs
- InputLangChangeRequestEvent.cs
- ImageCollectionCodeDomSerializer.cs
- CalendarButtonAutomationPeer.cs
- ConvertEvent.cs
- ChangeConflicts.cs
- xmlglyphRunInfo.cs
- WindowsBrush.cs
- GraphicsContainer.cs
- ResourceManagerWrapper.cs
- TdsValueSetter.cs
- ObjectDataSource.cs
- ListBoxAutomationPeer.cs
- PropertyGroupDescription.cs
- SqlDataSourceFilteringEventArgs.cs
- OleDbDataReader.cs
- ArithmeticException.cs
- ColumnPropertiesGroup.cs
- RuntimeHandles.cs
- OdbcCommand.cs
- SHA512.cs
- ReferencedCollectionType.cs
- LeaseManager.cs
- ObfuscationAttribute.cs
- columnmapkeybuilder.cs
- HtmlSelect.cs
- Matrix3DValueSerializer.cs
- SolidBrush.cs
- SHA256Managed.cs
- StaticExtension.cs
- ReflectionHelper.cs
- CodeStatement.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- Base64Encoding.cs
- AuthorizationRule.cs
- XmlNamedNodeMap.cs
- TextSegment.cs
- WebBrowserNavigatingEventHandler.cs