Show / Hide Table of Contents

    Class AssemblyContentDescription

    A description of a target assembly's contents.

    Inheritance
    System.Object
    AssemblyContentDescription
    Inherited Members
    System.Object.ToString()
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    Namespace: Flame.Compiler.Pipeline
    Assembly: Flame.Compiler.dll
    Syntax
    public sealed class AssemblyContentDescription

    Constructors

    | Improve this Doc View Source

    AssemblyContentDescription(QualifiedName, AttributeMap, ImmutableHashSet<IType>, ImmutableHashSet<ITypeMember>, IReadOnlyDictionary<IMethod, MethodBody>, IMethod)

    Creates an assembly content description.

    Declaration
    public AssemblyContentDescription(QualifiedName fullName, AttributeMap attributes, ImmutableHashSet<IType> types, ImmutableHashSet<ITypeMember> typeMembers, IReadOnlyDictionary<IMethod, MethodBody> methodBodies, IMethod entryPoint)
    Parameters
    Type Name Description
    QualifiedName fullName

    The assembly's full name.

    AttributeMap attributes

    The assembly's attribute map.

    System.Collections.Immutable.ImmutableHashSet<IType> types

    The list of types to include in the assembly.

    System.Collections.Immutable.ImmutableHashSet<ITypeMember> typeMembers

    The type members to include in the assembly.

    System.Collections.Generic.IReadOnlyDictionary<IMethod, MethodBody> methodBodies

    A mapping of methods to method bodies.

    IMethod entryPoint

    An optional entry point method. null means that the assembly has no entry point.

    Properties

    | Improve this Doc View Source

    Attributes

    Gets the attribute map for the assembly to build.

    Declaration
    public AttributeMap Attributes { get; }
    Property Value
    Type Description
    AttributeMap

    An attribute map.

    | Improve this Doc View Source

    EntryPoint

    Gets the assembly's entry point. Returns null if the assembly has no entry point.

    Declaration
    public IMethod EntryPoint { get; }
    Property Value
    Type Description
    IMethod

    The assembly's entry point.

    | Improve this Doc View Source

    FullName

    Gets the full name of the assembly to build.

    Declaration
    public QualifiedName FullName { get; }
    Property Value
    Type Description
    QualifiedName

    A fully qualified name.

    | Improve this Doc View Source

    MethodBodies

    Gets a dictionary that maps method in this assembly to their method bodies.

    Declaration
    public IReadOnlyDictionary<IMethod, MethodBody> MethodBodies { get; }
    Property Value
    Type Description
    System.Collections.Generic.IReadOnlyDictionary<IMethod, MethodBody>

    The method bodies dictionary.

    | Improve this Doc View Source

    TypeMembers

    Gets the set of type members to compile and include in the assembly.

    Declaration
    public ImmutableHashSet<ITypeMember> TypeMembers { get; }
    Property Value
    Type Description
    System.Collections.Immutable.ImmutableHashSet<ITypeMember>

    A set of type members.

    | Improve this Doc View Source

    Types

    Gets the set of types to compile and include in the assembly.

    Declaration
    public ImmutableHashSet<IType> Types { get; }
    Property Value
    Type Description
    System.Collections.Immutable.ImmutableHashSet<IType>

    A set of types.

    Methods

    | Improve this Doc View Source

    CreateTransitiveAsync(QualifiedName, AttributeMap, IMethod, Optimizer)

    Creates an assembly content description that transitively includes all dependencies for an entry point method.

    Declaration
    public static Task<AssemblyContentDescription> CreateTransitiveAsync(QualifiedName fullName, AttributeMap attributes, IMethod entryPoint, Optimizer optimizer)
    Parameters
    Type Name Description
    QualifiedName fullName

    The name of the assembly.

    AttributeMap attributes

    The assembly's attributes.

    IMethod entryPoint

    An entry point method.

    Optimizer optimizer

    An optimizer for method bodies.

    Returns
    Type Description
    System.Threading.Tasks.Task<AssemblyContentDescription>

    An assembly content description.

    | Improve this Doc View Source

    CreateTransitiveAsync(QualifiedName, AttributeMap, IMethod, IEnumerable<ITypeMember>, Optimizer)

    Creates an assembly content description that contains a number of root members plus an optional entry point method. Dependencies are transitively included.

    Declaration
    public static Task<AssemblyContentDescription> CreateTransitiveAsync(QualifiedName fullName, AttributeMap attributes, IMethod entryPoint, IEnumerable<ITypeMember> roots, Optimizer optimizer)
    Parameters
    Type Name Description
    QualifiedName fullName

    The name of the assembly.

    AttributeMap attributes

    The assembly's attributes.

    IMethod entryPoint

    An entry point method. Specify null to have no entry point.

    System.Collections.Generic.IEnumerable<ITypeMember> roots

    A sequence of additional roots that must be included in the assembly.

    Optimizer optimizer

    An optimizer for method bodies.

    Returns
    Type Description
    System.Threading.Tasks.Task<AssemblyContentDescription>

    An assembly content description.

    | Improve this Doc View Source

    CreateTransitiveAsync(QualifiedName, AttributeMap, IMethod, IEnumerable<ITypeMember>, IEnumerable<IType>, Optimizer)

    Creates an assembly content description that contains a number of root members plus an optional entry point method. Dependencies are transitively included.

    Declaration
    public static Task<AssemblyContentDescription> CreateTransitiveAsync(QualifiedName fullName, AttributeMap attributes, IMethod entryPoint, IEnumerable<ITypeMember> memberRoots, IEnumerable<IType> typeRoots, Optimizer optimizer)
    Parameters
    Type Name Description
    QualifiedName fullName

    The name of the assembly.

    AttributeMap attributes

    The assembly's attributes.

    IMethod entryPoint

    An entry point method. Specify null to have no entry point.

    System.Collections.Generic.IEnumerable<ITypeMember> memberRoots

    A sequence of additional root members that must be included in the assembly.

    System.Collections.Generic.IEnumerable<IType> typeRoots

    A sequence of additional root types that must be included in the assembly.

    Optimizer optimizer

    An optimizer for method bodies.

    Returns
    Type Description
    System.Threading.Tasks.Task<AssemblyContentDescription>

    An assembly content description.

    • Improve this Doc
    • View Source
    Back to top Generated by DocFX