Class MethodSpecialization
A base type for method specializations.
Inheritance
Inherited Members
Namespace: Flame.TypeSystem
Assembly: Flame.dll
Syntax
public abstract class MethodSpecialization : IMethod, ITypeMember, IGenericMember, IMember
  Constructors
| Improve this Doc View SourceMethodSpecialization(IMethod)
Creates an uninitialized generic method specialization from a generic declaration.
Declaration
public MethodSpecialization(IMethod declaration)
  Parameters
| Type | Name | Description | 
|---|---|---|
| IMethod | declaration | A generic method declaration.  | 
      
Properties
| Improve this Doc View SourceAttributes
Gets the member's attributes.
Declaration
public AttributeMap Attributes { get; }
  Property Value
| Type | Description | 
|---|---|
| AttributeMap | 
BaseMethods
Gets the method's base methods.
Declaration
public IReadOnlyList<IMethod> BaseMethods { get; }
  Property Value
| Type | Description | 
|---|---|
| System.Collections.Generic.IReadOnlyList<IMethod> | 
Declaration
Gets the method declaration of which this method is a specialization.
Declaration
public IMethod Declaration { get; }
  Property Value
| Type | Description | 
|---|---|
| IMethod | The method declaration.  | 
      
FullName
Gets the member's full name.
Declaration
public abstract QualifiedName FullName { get; }
  Property Value
| Type | Description | 
|---|---|
| QualifiedName | 
GenericParameters
Gets the list of generic parameters for this generic member.
Declaration
public abstract IReadOnlyList<IGenericParameter> GenericParameters { get; }
  Property Value
| Type | Description | 
|---|---|
| System.Collections.Generic.IReadOnlyList<IGenericParameter> | The generic parameters.  | 
      
IsConstructor
Indicates if this method is a constructor.
Declaration
public bool IsConstructor { get; }
  Property Value
| Type | Description | 
|---|---|
| System.Boolean | 
  | 
      
IsStatic
Tells if this is a static method. Non-static methods take a non-null pointer to their parent type as an implicit first arguments. Static methods do not.
Declaration
public bool IsStatic { get; }
  Property Value
| Type | Description | 
|---|---|
| System.Boolean | 
  | 
      
Name
Gets the member's unqualified name.
Declaration
public abstract UnqualifiedName Name { get; }
  Property Value
| Type | Description | 
|---|---|
| UnqualifiedName | 
Parameters
Gets the method's parameters.
Declaration
public IReadOnlyList<Parameter> Parameters { get; }
  Property Value
| Type | Description | 
|---|---|
| System.Collections.Generic.IReadOnlyList<Parameter> | 
ParentType
Gets the parent type specialization that defines this method specialization.
Declaration
public abstract IType ParentType { get; }
  Property Value
| Type | Description | 
|---|---|
| IType | The parent type specialization.  | 
      
ReturnParameter
Gets the method's return parameter.
Declaration
public Parameter ReturnParameter { get; }
  Property Value
| Type | Description | 
|---|---|
| Parameter | 
Methods
| Improve this Doc View SourceInitializeInstance(MethodSpecialization)
Initializes a method specialization instance.
Declaration
protected static MethodSpecialization InitializeInstance(MethodSpecialization instance)
  Parameters
| Type | Name | Description | 
|---|---|---|
| MethodSpecialization | instance | The instance to initialize.  | 
      
Returns
| Type | Description | 
|---|---|
| MethodSpecialization | 
  | 
      
ToString()
Declaration
public override string ToString()
  Returns
| Type | Description | 
|---|---|
| System.String |