| File: Symbols\IMethodSymbolInternal.cs | Web Access |
| Project: src\roslyn\src\Compilers\Core\Portable\Microsoft.CodeAnalysis.csproj (Microsoft.CodeAnalysis) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Collections.Immutable; using System.Reflection; using System.Reflection.Metadata; namespace Microsoft.CodeAnalysis.Symbols { internal interface IMethodSymbolInternal : ISymbolInternal { /// <summary> /// True if the method is a source method implemented as an iterator. /// </summary> bool IsIterator { get; } /// <summary> /// Returns true if this method is an async method /// </summary> bool IsAsync { get; } /// <summary> /// Returns whether this method is generic; i.e., does it have any type parameters? /// </summary> bool IsGenericMethod { get; } /// <summary> /// Returns true if this method has no return type; i.e., returns "void". /// </summary> bool ReturnsVoid { get; } int ParameterCount { get; } ImmutableArray<IParameterSymbolInternal> Parameters { get; } bool HasDeclarativeSecurity { get; } bool IsAccessCheckedOnOverride { get; } bool IsExternal { get; } bool IsHiddenBySignature { get; } bool IsMetadataNewSlotIgnoringInterfaceImplementationChanges { get; } bool IsPlatformInvoke { get; } bool IsMetadataFinal { get; } bool HasSpecialName { get; } bool HasRuntimeSpecialName { get; } bool RequiresSecurityObject { get; } MethodImplAttributes ImplementationAttributes { get; } ISymbolInternal? AssociatedSymbol { get; } IMethodSymbolInternal? PartialImplementationPart { get; } IMethodSymbolInternal? PartialDefinitionPart { get; } /// <summary> /// Handle of the method signature blob or nil if not a PE symbol. /// </summary> BlobHandle MetadataSignatureHandle { get; } int CalculateLocalSyntaxOffset(int declaratorPosition, SyntaxTree declaratorTree); /// <summary> /// Returns a constructed method given its type arguments. /// </summary> /// <param name="typeArguments">The immediate type arguments to be replaced for type /// parameters in the method.</param> IMethodSymbolInternal Construct(params ITypeSymbolInternal[] typeArguments); } }