|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Reflection.Runtime.ParameterInfos;
using System.Reflection.Runtime.TypeInfos;
using Internal.Reflection.Core.Execution;
namespace System.Reflection.Runtime.MethodInfos
{
//
// Singleton MethodInfo used as a sentinel for _lazy* latches where we can't use "null" as a sentinel.
//
internal sealed class RuntimeDummyMethodInfo : RuntimeNamedMethodInfo
{
private RuntimeDummyMethodInfo() { }
public sealed override bool Equals(object obj) => object.ReferenceEquals(this, obj);
public sealed override int GetHashCode() => 1;
public sealed override string ToString() => string.Empty;
public sealed override MethodInfo GetGenericMethodDefinition() { throw NotImplemented.ByDesign; }
[RequiresDynamicCode("The native code for this instantiation might not be available at runtime.")]
[RequiresUnreferencedCode("If some of the generic arguments are annotated (either with DynamicallyAccessedMembersAttribute, or generic constraints), trimming can't validate that the requirements of those annotations are met.")]
public sealed override MethodInfo MakeGenericMethod(params Type[] typeArguments) { throw NotImplemented.ByDesign; }
public sealed override MethodAttributes Attributes { get { throw NotImplemented.ByDesign; } }
public sealed override Type ReflectedType { get { throw NotImplemented.ByDesign; } }
public sealed override CallingConventions CallingConvention { get { throw NotImplemented.ByDesign; } }
public sealed override IEnumerable<CustomAttributeData> CustomAttributes { get { throw NotImplemented.ByDesign; } }
public sealed override bool IsConstructedGenericMethod { get { throw NotImplemented.ByDesign; } }
public sealed override bool IsGenericMethod { get { throw NotImplemented.ByDesign; } }
public sealed override bool IsGenericMethodDefinition { get { throw NotImplemented.ByDesign; } }
internal sealed override int GenericParameterCount { get { throw NotImplemented.ByDesign; } }
public sealed override bool HasSameMetadataDefinitionAs(MemberInfo other) { throw NotImplemented.ByDesign; }
public sealed override MethodImplAttributes MethodImplementationFlags { get { throw NotImplemented.ByDesign; } }
public sealed override Module Module { get { throw NotImplemented.ByDesign; } }
internal sealed override MethodBase MetadataDefinitionMethod { get { throw NotImplemented.ByDesign; } }
public sealed override int MetadataToken { get { throw NotImplemented.ByDesign; } }
public sealed override RuntimeMethodHandle MethodHandle { get { throw NotImplemented.ByDesign; } }
protected sealed override MethodBaseInvoker UncachedMethodInvoker { get { throw NotImplemented.ByDesign; } }
internal sealed override RuntimeParameterInfo[] GetRuntimeParameters(RuntimeMethodInfo contextMethod, out RuntimeParameterInfo returnParameter) { throw NotImplemented.ByDesign; }
internal sealed override RuntimeTypeInfo RuntimeDeclaringType { get { throw NotImplemented.ByDesign; } }
internal sealed override string RuntimeName { get { throw NotImplemented.ByDesign; } }
internal sealed override RuntimeTypeInfo[] RuntimeGenericArgumentsOrParameters { get { throw NotImplemented.ByDesign; } }
protected internal sealed override string ComputeToString(RuntimeMethodInfo contextMethod) { throw NotImplemented.ByDesign; }
internal sealed override MethodBaseInvoker GetUncachedMethodInvoker(RuntimeTypeInfo[] methodArguments, MemberInfo exceptionPertainant) { throw NotImplemented.ByDesign; }
internal sealed override RuntimeMethodHandle GetRuntimeMethodHandle(Type[] genericArgs) { throw NotImplemented.ByDesign; }
internal sealed override RuntimeMethodInfo WithReflectedTypeSetToDeclaringType { get { throw NotImplemented.ByDesign; } }
public static readonly RuntimeDummyMethodInfo Instance = new RuntimeDummyMethodInfo();
}
}
|